I'm guessing its because of routes being defined as ioctls with slightly different header files in Hurd vs BSD (?) Likely Samuel's solution is correct to guard against incompatible headers being included in the Hurd path. Alternatively one could group the Hurd headers better so both APIs require to include the same filenames in both paths.
That's my guess. Damien Sent from Proton Mail mobile -------- Original Message -------- On 11 Oct 2024, 2:05 am, Joan Lledó wrote: > Hi, This comes from: > https://lists.debian.org/debian-hurd/2023/11/msg00030.html I was trying to > build the dhcpcd package on the Hurd and it fails with this error: ``` In > file included from arp.h:46, from privsep.h:134, from dhcpcd.h:96, from > common.c:40: if.h:36:10: fatal error: netinet/in_var.h: No such file or > directory 36 | #include /* for IN_IFF_TENTATIVE et all */ | > ^~~~~~~~~~~~~~~~~~ ``` Source: > https://salsa.debian.org/debian/dhcpcd/-/blob/upstream/10.1.0/src/if.h?ref_type=tags#L36 > It fails because apparently we define the `BSD` macro. I checked it and it > comes from glibc: > https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mach/hurd/bits/param.h;h=48eeb7ddf5d62942d15705e0bcc19db05ed28fc7;hb=HEAD#l63 > So, according to the comment above the macro definition, we claim to be > compatible with BSD, is that still true? dchpcd reads the `BSD` macro from > multiple places across its codebase. If it fails to compile, it's because we > are not compatible apparently. How can we fix this?