|
Bugzilla – Full Text Bug Listing |
| Summary: | Package alpine does not build with gcc 14 because of a call arguments with an incompatible pointer type | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE Tumbleweed | Reporter: | Martin Jambor <mjambor> |
| Component: | Other | Assignee: | Reinhard Max <max> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Normal | ||
| Priority: | P5 - None | ||
| Version: | Current | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Bug Depends on: | |||
| Bug Blocks: | 1220571 | ||
|
Description
Martin Jambor
2024-05-20 13:34:19 UTC
Hmm, alpine even has a configure check to see whether qsort() wants the comparison function to take (void *) or (char *) arguments, but something in there seems to go wrong. Investigating ... Ah, the check makes use of implicit int which is now also an error and lets the check for (void *) fail leading to the assumption that (char *) is needed for qsort():
configure:23571: checking argument pointer type of qsort compare function and base
configure:23600: gcc -c [...] conftest.c
conftest.c:141:8: error: type defaults to 'int' in declaration of 'sortf' [-Wimplicit-int]
141 | extern sortf(const void *, const void *);
| ^~~~~
[...]
configure: failed program was:
[...]
| extern void *base;
| extern sortf(const void *, const void *);
| int sortf(a, b)
| const void *a;
| const void *b; { return 0; }
[...]
configure:23611: result: char
Yep, that prototype should be extern int sortf(const void *, const void *); and after fixing it there are no further errors with gcc 14. |