I'm attempting to rebuild some of my nProbe devices with newer versions of
pf_ring and nprobe. Attempting this with both nprobe_5.5_021210 and nprobe
4.9.4 yields the same issue, making me think that I've missed something with
pf_ring (previous versions have used the kernel pating version of pf_ring).
I have the kernel module loaded (the ko is SO much easier than the kernel
patch, thanks for doing it that way):
# lsmod | grep pf
pf_ring 108432 0
But after autogen.sh I see these compile errors:
[r...@10g-probehost nprobe_5.5.1_030110_pro]# ./autogen.sh
Starting nProbe automatic configuration system v0.2.1
Please be patient, there is a lot to do...
1. Testing gnu tools....
libtool ..... 1.5.22
.... ok
automake .... 1.9.6
.... ok
autoconf .... 2.59
.... ok
2. Preparing for libtool ....
.... done
3. Create acinclude.m4, local definitions for automake ...
.... done
4. Running aclocal to create aclocal.m4 ...
.... done
5. Running autoheader to create config.h.in ...
.... done
6. Running automake to create Makefile.in ...
.... done
which: no glibtool in
(/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
7. Running autoconf to create configure ...
.... done
8. Running ./configure ...
running /bin/sh ./configure --no-create --no-recursion
Welcome to nprobe, Version 5.5.1
Copyright (c) 2002-10 Luca Deri <[email protected]>
checking build system type... x86_64-redhat-linux-gnu
checking host system type... x86_64-redhat-linux-gnu
checking target system type... x86_64-redhat-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for a sed that does not truncate output... /bin/sed
checking for egrep... grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... f95
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether f95 accepts -g... yes
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared
libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
mv: accessing `libtool': Too many levels of symbolic links
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared
libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared
libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for f95 option to produce PIC... -fPIC
checking if f95 PIC flag -fPIC works... yes
checking if f95 static flag -static works... yes
checking if f95 supports -c -o file.o... yes
checking whether the f95 linker (/usr/bin/ld -m elf_x86_64) supports shared
libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ANSI C... (cached) none needed
checking whether gcc and cc understand -c and -o together... yes
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for compiler option -pipe... yes
checking for compilation debug mode... disabled
checking for compilation optimization mode... disabled
checking whether build environment is sane... yes
checking for gawk... gawk
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking dependency style of g++... gcc3
checking for ANSI C header files... (cached) yes
checking for dlfcn.h... (cached) yes
checking dl.h usability... no
checking dl.h presence... no
checking for dl.h... no
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for string.h... (cached) yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for sys/types.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking for sys/stat.h... (cached) yes
checking sys/ioctl usability... no
checking sys/ioctl presence... no
checking for sys/ioctl... no
checking sys/un.h usability... yes
checking sys/un.h presence... yes
checking for sys/un.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/ldr.h usability... no
checking sys/ldr.h presence... no
checking for sys/ldr.h... no
checking sys/sockio.h usability... no
checking sys/sockio.h presence... no
checking for sys/sockio.h... no
checking for sqlite3_open in -lsqlite3... yes
checking sched.h usability... yes
checking sched.h presence... yes
checking for sched.h... yes
checking sys/sched.h usability... no
checking sys/sched.h presence... no
checking for sys/sched.h... no
checking semaphore.h usability... yes
checking semaphore.h presence... yes
checking for semaphore.h... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_create in -lpthread... yes
checking if r/w locks are supported... yes
checking for dlopen in -ldl... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking net/if.h usability... yes
checking net/if.h presence... yes
checking for net/if.h... yes
checking netinet/in_systm.h usability... yes
checking netinet/in_systm.h presence... yes
checking for netinet/in_systm.h... yes
checking netinet/ip.h usability... yes
checking netinet/ip.h presence... yes
checking for netinet/ip.h... yes
checking netinet/ip_icmp.h usability... yes
checking netinet/ip_icmp.h presence... yes
checking for netinet/ip_icmp.h... yes
checking netinet/udp.h usability... yes
checking netinet/udp.h presence... yes
checking for netinet/udp.h... yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking netinet/if_ether.h usability... yes
checking netinet/if_ether.h presence... yes
checking for netinet/if_ether.h... yes
checking arpa/nameser.h usability... yes
checking arpa/nameser.h presence... yes
checking for arpa/nameser.h... yes
checking net/ethernet.h usability... yes
checking net/ethernet.h presence... yes
checking for net/ethernet.h... yes
checking ethertype.h usability... no
checking ethertype.h presence... no
checking for ethertype.h... no
checking if.h usability... no
checking if.h presence... no
checking for if.h... no
checking net/bpf.h usability... no
checking net/bpf.h presence... no
checking for net/bpf.h... no
checking sys/syslog.h usability... yes
checking sys/syslog.h presence... yes
checking for sys/syslog.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for typedef u_int64_t... yes
checking for typedef uint64_t... no
checking for typedef u_int32_t... yes
checking for typedef u_int16_t... yes
checking for typedef u_int8_t... yes
checking for typedef int64_t... yes
checking for typedef int32_t... yes
checking for typedef int16_t... yes
checking for typedef int8_t... yes
checking if ether_header uses ether_addr structs... no
checking for accept in -lsocket... no
checking for inet_aton in -lresolv... yes
checking sctp... no
checking for pcre_compile in -lpcre... no
checking pcre.h usability... no
checking pcre.h presence... no
checking for pcre.h... no
checking Remote flows support... no
checking Native PF_RING support... yes
checking for pfring_open in -lpfring... no
checking for LBL Packet Capture Library (required package)... found in
/usr/local
checking for pcap_next_ex in -lpcap... no
checking for GeoIP_record_by_ipnum in -lGeoIP... no
checking GeoIP.h usability... no
checking GeoIP.h presence... no
checking for GeoIP.h... no
Build nprobe without geolocation - GeoIP (http://www.maxmind.com/)
checking for python-config... no
PYTHON is not present
checking for mysql_config... no
MySQL not found. Database support disabled
configure: creating ./config.status
creating version.c
This is your nprobe 5.5.1 configuration:
Host System Type : x86_64-redhat-linux-gnu
Compiler (cflags) : gcc -g -O2 -pipe -I/usr/local/include -I/opt/local/include
-DHAVE_CONFIG_H
Include path : -I /lib/modules/2.6.18-164.el5/source/include
-I/usr/local/include
System Libs : -L/usr/local/lib -L/opt/local/lib -lresolv -ldl -lpthread
-lsqlite3
Core Libs : -L/usr/local/lib -lpcap
Additional Libs :
LBL pcap in : /usr/local
Install path : /usr/local
Now type 'make' or 'gmake' (GNU make) on *BSD and Solaris
systems to build .
.... autogen.sh done
just type make to compile nprobe
[r...@nprobe10g-b nprobe_5.5.1_030110_pro]# make
/bin/sh ./config.status
config.status: creating Makefile
config.status: creating nprobe.spec
config.status: creating plugins/Makefile
config.status: creating config.h
config.status: executing depfiles commands
cd . && /bin/sh /root/nprobe_5.5.1_030110_pro/missing --run autoheader
rm -f stamp-h1
touch config.h.in
cd . && /bin/sh ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
make all-recursive
make[1]: Entering directory `/root/nprobe_5.5.1_030110_pro'
Making all in .
make[2]: Entering directory `/root/nprobe_5.5.1_030110_pro'
if /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.
-I. -I /lib/modules/2.6.18-164.el5/source/include -I/usr/local/include
-I/usr/local/include -I/opt/local/include -g -O2 -pipe -I/usr/local/include
-I/opt/local/include -g -O2 -pipe -I/usr/local/include -I/opt/local/include -MT
collect.lo -MD -MP -MF ".deps/collect.Tpo" -c -o collect.lo collect.c; \
then mv -f ".deps/collect.Tpo" ".deps/collect.Plo"; else rm -f
".deps/collect.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -I
/lib/modules/2.6.18-164.el5/source/include -I/usr/local/include
-I/usr/local/include -I/opt/local/include -g -O2 -pipe -I/usr/local/include
-I/opt/local/include -g -O2 -pipe -I/usr/local/include -I/opt/local/include -MT
collect.lo -MD -MP -MF .deps/collect.Tpo -c collect.c -fPIC -DPIC -o
.libs/collect.o
In file included from collect.c:23:
nprobe.h:1219: error: expected specifier-qualifier-list before 'pfring'
make[2]: *** [collect.lo] Error 1
make[2]: Leaving directory `/root/nprobe_5.5.1_030110_pro'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/nprobe_5.5.1_030110_pro'
make: *** [all] Error 2
Something that jumped out to me was:
checking for pfring_open in -lpfring... no
Im not sure if this is expected behavior or not, but I'm probably in need of a
fresh set of eyes to point out what I'm missing. Has anyone seen this before?
How was it resolved?
The host is Centos5.4: 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64
x86_64 x86_64 GNU/Linux
Thanks in advance,
nb
---
Nick Buraglio
Network Engineer, CITES, University of Illinois
GPG key 0x2E5B44F4
Phone: 217.244.6428
[email protected]
_______________________________________________
Ntop-misc mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop-misc