Bug#758283: libnet-arp-perl: FTBFS on kfreebsd-*: unknown type name 'uint64_t'
Niko Tyni
ntyni at debian.org
Tue Aug 19 05:53:15 UTC 2014
On Sun, Aug 17, 2014 at 11:52:42PM +0300, Niko Tyni wrote:
> On Sat, Aug 16, 2014 at 12:26:15PM +0300, Niko Tyni wrote:
> > Package: libnet-arp-perl
> > Version: 1.0.8-1
> > Severity: serious
> >
> > Rebuilding this package against Perl 5.20 failed on the kfreebsd-* buildds:
> >
> > cc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -DVERSION=\"1.0.8\" -DXS_VERSION=\"1.0.8\" -fPIC "-I/usr/lib/x86_64-kfreebsd-gnu/perl/5.20/CORE" -DBSD arp_lookup_bsd.c
> > In file included from arp_lookup_bsd.c:25:0:
> > /usr/include/net/if_arp.h:130:2: error: unknown type name 'uint64_t'
> > uint64_t txrequests; /* # of ARP requests sent by this host. */
> > ^
> > /usr/include/net/if_arp.h:131:2: error: unknown type name 'uint64_t'
> > uint64_t txreplies; /* # of ARP replies sent by this host. */
> > ^
>
> This seems to be the same issue as #754684 (cc'd).
>
> @debian-bsd: looks like /usr/include/net/if_arp.h from
> kfreebsd-kernel-headers is broken, right?
OK, quoting Robert Millan in #715321:
2013/7/7 Laurent Bigonville <bigon at debian.org>:
> /usr/include/net/if_bridgevar.h is explicitly using types like
> "uint32_t"
>
> Shouldn't an include for <stdint.h> be added?
This is intentional upstream policy (to avoid header pollution).
Programs which include <net/if_bridevar.h> are expected to include
<stdint.h> first.
However, because <stdint.h> is not available to kernel code. A lot of
code from FreeBSD tends to use <sys/types.h> instead, even in cases
where it is only intended for userland.
So you probably just need to replace that <sys/types.h> in your code.
I expect this extrapolates to <net/if_arp.h> too.
--
Niko Tyni ntyni at debian.org
More information about the pkg-perl-maintainers
mailing list