Il 19/01/25 19:02, Cristian Le via devel ha scritto:

> On 2025/01/19 18:32, Michael J Gruber wrote:
>
>> Mattia Verga venit, vidit, dixit 2025-01-19 18:28:04:
>>
>>> For example:
>>> https://kojipkgs.fedoraproject.org//work/tasks/7044/127997044/build.log
>>> I don't know much of C, from what I've read online those functions are
>>> declared without arguments and then used with arguments. It seems this
>>> is now throwing an error, while before the mass rebuild just worked:
>>>
>>> /builddir/build/BUILD/libahp-gt-1.7.0-build/libahp-gt-1.7.0/ahp_gt.c: In
>>> function ‘synscan_poll’:
>>> /builddir/build/BUILD/libahp-gt-1.7.0-build/libahp-gt-1.7.0/ahp_gt.c:541:17:
>>> error: too many arguments to function ‘ahp_gt_get_tracking_mode’;
>>> expected 0, have 1
>>>    541 |                 ahp_gt_get_tracking_mode(cmd[0]);
>>>        |                 ^~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
>>> In file included from
>>> /builddir/build/BUILD/libahp-gt-1.7.0-build/libahp-gt-1.7.0/ahp_gt.c:26:
>>> /builddir/build/BUILD/libahp-gt-1.7.0-build/libahp-gt-1.7.0/redhat-linux-build/ahp_gt.h:1037:16:
>>> note: declared here
>>>   1037 | DLL_EXPORT int ahp_gt_get_tracking_mode();
>>>        |                ^~~~~~~~~~~~~~~~~~~~~~~~
>>
>> Yes, this is clearly fallout from gcc 15 landing in rawhide (just before
>> the mass rebuild). It's not a gcc 15 bug, though.
>>
>> You could file upstream for gcc 15 / C23 standard compatibility.
>
> Either they had a typo or they wanted to abuse C interface (most likely the 
> first one (off by 1 letter get->set)). This seems to be fixed upstream [1] 
> anyway.
>
> Maybe share the other example as well in case it is more clear that they 
> really wanted to abuse C interface. This reads too much like a bug because in 
> the supposedly "working" interface, they are passing an `int` that is being 
> copied instead of a pointer and they are getting that as a return value.
>
> [1]: 
> https://github.com/ahp-electronics/libahp-gt/commit/324c0914e5dd3b23b5af5e871ba5dc0f790bddce

I have several other packages failing for the same reason:

libpasastro https://koji.fedoraproject.org/koji/taskinfo?taskID=128001935
wcstools https://koji.fedoraproject.org/koji/taskinfo?taskID=128160436
xephem https://koji.fedoraproject.org/koji/taskinfo?taskID=12816284

I wonder if it's best practice for software to explicitly pass the standard in 
the build flags (with -std=...). I've checked a few which successfully passed 
the mass rebuild and those set a lower standard than C23 in flags.

BTW, other fail causes I see on my packages are:

libindi | phd2 | zxcvbn:
‘uint64_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding 
‘#include <cstdint>’
Sounds easy to fix.

python-ducc0:
error: call of ‘(ducc0::detail_mav::vmav<double, 3>) (int64_t&, int64_t, 
int64_t&)’ is ambiguous
I have no clue on this, need to get in contact with upstream.

indi-3rdparty-drivers:
error: expected ‘;’, identifier or ‘(’ before ‘bool’
Looks like the syntax 'typedef enum { FALSE, TRUE } bool;' is no more accepted, 
but searching in the net it was perfectly fine.

Mattia
-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to