Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 944058 - =net-wireless/iwd-3.1 fails with c23/gcc-15.0.0_pre20241117-r2: wired/ethdev.c:340:55: error: passing argument 4 of ‘l_io_set_read_handler’ from incompatible pointer type
Summary: =net-wireless/iwd-3.1 fails with c23/gcc-15.0.0_pre20241117-r2: wired/ethdev....
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Ben Kohler
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks: c23-porting
  Show dependency tree
 
Reported: 2024-11-19 23:18 UTC by tdr
Modified: 2024-11-27 00:24 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build failure log (iwd-3.1:20241119-231149.log,41.56 KB, text/plain)
2024-11-19 23:19 UTC, tdr
Details
emerge --infp (tdr-emerge--info.txt,6.30 KB, text/plain)
2024-11-19 23:19 UTC, tdr
Details

Note You need to log in before you can comment on or make changes to this bug.
Description tdr 2024-11-19 23:18:44 UTC
c23 is stricter than previous versions

incompatible pointer type is found in this package

Reproducible: Always

Actual Results:  
wired/ethdev.c:340:55: error: passing argument 4 of ‘l_io_set_read_handler’ from incompatible pointer type [-Wincompatible-pointer-types]
  340 |         l_io_set_read_handler(pae_io, pae_read, NULL, pae_destroy);
      |                                                       ^~~~~~~~~~~
      |                                                       |
      |                                                       void (*)(void)
In file included from /usr/include/ell/ell.h:19,
                 from wired/ethdev.c:38:
./ell/io.h:33:68: note: expected ‘l_io_destroy_cb_t’ {aka ‘void (*)(void *)’} but argument is of type ‘void (*)(void)’
   33 |                                 void *user_data, l_io_destroy_cb_t destroy);
      |                                                  ~~~~~~~~~~~~~~~~~~^~~~~~~


builds with -std=gnu17 env
also builds with gcc:15.0.0_pre20241110
Comment 1 tdr 2024-11-19 23:19:16 UTC
Created attachment 910407 [details]
build failure log
Comment 2 tdr 2024-11-19 23:19:43 UTC
Created attachment 910408 [details]
emerge --infp
Comment 3 tdr 2024-11-20 00:08:42 UTC
the +wired USE flag on it hits the section of code that fails
set -wired, it builds fine without being set to c17 std
Comment 5 Ben Kohler gentoo-dev 2024-11-20 18:26:28 UTC
Just hit iwd.git, can you test iwd-9999 to confirm that all your issues are fixed?

Thanks
Comment 6 tdr 2024-11-24 22:30:42 UTC
I was able to successfully build =net-wireless/iwd-9999 without using an env over-ride file.  The "wired" USE flag was also enabled, so the problematic part is fixed in the -9999 version.

Afterward, emerge -vp iwd:


[ebuild   R   *] net-wireless/iwd-9999::gentoo  USE="client monitor standalone wired -ofono (-selinux) -systemd" CPU_FLAGS_X86="aes ssse3" 0 KiB
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-11-27 00:24:31 UTC
commit 3a126e176a136647dce3c9a00e870437e3cd1444
Author: Ben Kohler <bkohler@gentoo.org>
Date:   Tue Nov 26 10:29:44 2024 -0600

    net-wireless/iwd: add 3.2

    Signed-off-by: Ben Kohler <bkohler@gentoo.org>