tcpdump mailing list archives
Re: missing/wrong headers when building libpcap under Linux 2.4.22 and glibc 2.3.2
From: "Jeremy C. Reed" <reed () reedmedia net>
Date: Thu, 9 Oct 2003 23:41:06 -0700 (PDT)
On Tue, 7 Oct 2003, Guy Harris wrote:
For some reason, libpcap-0.7.2 is not building for me with Linux 2.4.22 and glibc 2.3.2. It first fails: cc -O2 -O2 -I. -DHAVE_CONFIG_H -c ./pcap-snoop.cThat's not a file to be compiled on Linux. It's a file for Irix. Have you ever compiled that libpcap release on Irix? If so, do "make distclean", re-run the configure script, and try again - in fact, even if you haven't ever compiled it on Irix, do "make distclean", re-run the configure script, and try again, just to make sure.
I have never tried for Irix. Just to be sure I did a "gmake distclean" first. Then did a "./configure" and a "gmake". It failed again the same in pcap-snoop.c Earlier, I also tried to build the nmap-3.45/libpcap-possiblymodified version. (It is based on old version 0.6.2.) It failed the same. So Makefile.in has: PSRC = pcap-@V_PCAP@.c So I look at configure ... echo "configure:1604: checking packet capture type" >&5 if test ! -z "$with_pcap" ; then V_PCAP="$withval" elif test -r /dev/bpf0 ; then V_PCAP=bpf elif test -r /usr/include/net/pfilt.h ; then V_PCAP=pf elif test -r /dev/enet ; then V_PCAP=enet elif test -r /dev/nit ; then V_PCAP=snit elif test -r /usr/include/sys/net/nit.h ; then V_PCAP=nit elif test -r /usr/include/net/raw.h ; then V_PCAP=snoop So here is the problem. My /usr/include/net/raw.h says: "An implementation of the TCP/IP protocol suite for the LINUX ..." and "Version: @(#)raw.h 1.0.2 05/07/93". Linux kernel provides asm/* and linux/* headers, but it also has net/* and scsi/* headers. glibc also provides net/* and scsi/* headers. glibc doesn't provide any net/raw.h. I believe that is the problem. This system shouldn't have /usr/include/net/raw.h. (Looking at two other Linux boxes, I see they don't have it too.) elif test -r /usr/include/sys/dlpi.h ; then V_PCAP=dlpi elif test -r /usr/include/linux/socket.h ; then V_PCAP=linux I am curious: would any system that has sys/dlpi.h or net/raw.h also have linux/socket.h? I haven't noticed problems with building other network related software on this box. I don't know if this is a unique problem or if ./configure should be patched to place the "linux" check earlier. Thank you, Guy, for the feedback. My libpcap-0.7.2 built and installed fine and now nmap (patched to not build its own libpcap and) using CONFIGURE_ARGS+= --with-libpcap=${BUILDLINK_PREFIX.libpcap} also worked well. (I had to get rid of the "linux" check in the configure script too.) Jeremy C. Reed http://bsd.reedmedia.net/ - This is the TCPDUMP workers list. It is archived at http://www.tcpdump.org/lists/workers/index.html To unsubscribe use mailto:tcpdump-workers-request () tcpdump org?body=unsubscribe
Current thread:
- missing/wrong headers when building libpcap under Linux 2.4.22 and glibc 2.3.2 Jeremy C. Reed (Oct 07)
- Re: missing/wrong headers when building libpcap under Linux 2.4.22 and glibc 2.3.2 Guy Harris (Oct 07)
- Re: missing/wrong headers when building libpcap under Linux 2.4.22 and glibc 2.3.2 Jeremy C. Reed (Oct 09)
- Re: missing/wrong headers when building libpcap under Linux 2.4.22 and glibc 2.3.2 Guy Harris (Oct 07)