Hi,
I’m trying to compile dahdi 2.6.1 with pcap enabled.
OS is centos 5.4 32bit (but I get the same error on ubuntu 12 64bit)
libpcap.i386 14:0.9.4-15.el5 installed
libpcap-devel.i386 14:0.9.4-15.el5 installed
If I compile a non modified source tree everything is OK.
I follewed the mailing list tips and I’ve succesfully compile the mirror-enabled drivers (modified the dahdi_config.h)
When I edit the tools/Makefile and add dahdi_pcap to the UTILS, BINS plus the “dahdi_pcap: LIBS+=-lpcap” line I get the following linker error (added a --verbose gcc flag):
GNU C version 4.1.2 20080704 (Red Hat 4.1.2-48) (i386-redhat-linux)
compiled by GNU C version 4.1.2 20080704 (Red Hat 4.1.2-48).
GGC heuristics: --param ggc-min-expand=65 --param ggc-min-heapsize=65558
Compiler executable checksum: 625231d1211c3689652276225f4f5c88
as -V -Qy -o dahdi_maint.o /tmp/ccqcYdN0.s
GNU assembler version 2.17.50.0.6-14.el5 (i386-redhat-linux) using BFD version 2.17.50.0.6-14.el5 20061020
gcc dahdi_maint.o version.o -o dahdi_maint
gcc -g -O2 -I. -O2 -g --verbose -fPIC -Wall -DBUILDING_TONEZONE -I../linux/include -MD -MT dahdi_pcap.o -MF .dahdi_pcap.o.d -MP -c -o dahdi_pcap.o dahdi_pcap.c
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)
/usr/libexec/gcc/i386-redhat-linux/4.1.2/cc1 -quiet -v -I. -I../linux/include -MD dahdi_pcap.d -MF .dahdi_pcap.o.d -MP -MT dahdi_pcap.o -MQ dahdi_pcap.o -DBUILDING_TONEZONE dahdi_pcap.c -quiet -dumpbase dahdi_pcap.c -mtune=generic -auxbase-strip dahdi_pcap.o -g -g -O2 -O2 -Wall -version -fPIC -o /tmp/cccerZgb.s
ignoring nonexistent directory "/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
.
../linux/include
/usr/local/include
/usr/lib/gcc/i386-redhat-linux/4.1.2/include
/usr/include
End of search list.
GNU C version 4.1.2 20080704 (Red Hat 4.1.2-48) (i386-redhat-linux)
compiled by GNU C version 4.1.2 20080704 (Red Hat 4.1.2-48).
GGC heuristics: --param ggc-min-expand=65 --param ggc-min-heapsize=65558
Compiler executable checksum: 625231d1211c3689652276225f4f5c88
as -V -Qy -o dahdi_pcap.o /tmp/cccerZgb.s
GNU assembler version 2.17.50.0.6-14.el5 (i386-redhat-linux) using BFD version 2.17.50.0.6-14.el5 20061020
gcc -g -O2 -I. -O2 -g --verbose -fPIC -Wall -DBUILDING_TONEZONE -I../linux/include dahdi_pcap.c -lpcap -o dahdi_pcap dahdi_pcap.o
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)
/usr/libexec/gcc/i386-redhat-linux/4.1.2/cc1 -quiet -v -I. -I../linux/include -DBUILDING_TONEZONE dahdi_pcap.c -quiet -dumpbase dahdi_pcap.c -mtune=generic -auxbase dahdi_pcap -g -g -O2 -O2 -Wall -version -fPIC -o /tmp/ccdDZgMj.s
ignoring nonexistent directory "/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
.
../linux/include
/usr/local/include
/usr/lib/gcc/i386-redhat-linux/4.1.2/include
/usr/include
End of search list.
GNU C version 4.1.2 20080704 (Red Hat 4.1.2-48) (i386-redhat-linux)
compiled by GNU C version 4.1.2 20080704 (Red Hat 4.1.2-48).
GGC heuristics: --param ggc-min-expand=65 --param ggc-min-heapsize=65558
Compiler executable checksum: 625231d1211c3689652276225f4f5c88
as -V -Qy -o /tmp/ccRzoFxp.o /tmp/ccdDZgMj.s
GNU assembler version 2.17.50.0.6-14.el5 (i386-redhat-linux) using BFD version 2.17.50.0.6-14.el5 20061020
/usr/libexec/gcc/i386-redhat-linux/4.1.2/collect2 --eh-frame-hdr -m elf_i386 --hash-style=gnu -dynamic-linker /lib/ld-linux.so.2 -o dahdi_pcap /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crt1.o /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crti.o /usr/lib/gcc/i386-redhat-linux/4.1.2/crtbegin.o -L/usr/lib/gcc/i386-redhat-linux/4.1.2 -L/usr/lib/gcc/i386-redhat-linux/4.1.2 -L/usr/lib/gcc/i386-redhat-linux/4.1.2/../../.. /tmp/ccRzoFxp.o -lpcap dahdi_pcap.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/i386-redhat-linux/4.1.2/crtend.o /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crtn.o
dahdi_pcap.o: In function `usage':
/root/dahdi-linux-complete-2.6.1+2.6.1/tools/dahdi_pcap.c:196: multiple definition of `usage'
/tmp/ccRzoFxp.o:/root/dahdi-linux-complete-2.6.1+2.6.1/tools/dahdi_pcap.c:196: first defined here
dahdi_pcap.o: In function `log_packet':
/root/dahdi-linux-complete-2.6.1+2.6.1/tools/dahdi_pcap.c:104: multiple definition of `log_packet'
/tmp/ccRzoFxp.o:/root/dahdi-linux-complete-2.6.1+2.6.1/tools/dahdi_pcap.c:104: first defined here
dahdi_pcap.o: In function `make_mirror':
/root/dahdi-linux-complete-2.6.1+2.6.1/tools/dahdi_pcap.c:77: multiple definition of `make_mirror'
/tmp/ccRzoFxp.o:/root/dahdi-linux-complete-2.6.1+2.6.1/tools/dahdi_pcap.c:77: first defined here
dahdi_pcap.o: In function `main':
/root/dahdi-linux-complete-2.6.1+2.6.1/tools/dahdi_pcap.c:207: multiple definition of `main'
/tmp/ccRzoFxp.o:/root/dahdi-linux-complete-2.6.1+2.6.1/tools/dahdi_pcap.c:207: first defined here
collect2: ld returned 1 exit status
make[1]: *** [dahdi_pcap] Error 1
make[1]: Leaving directory `/root/dahdi-linux-complete-2.6.1+2.6.1/tools'
make: *** [all] Error 2
Now as far as I know the collect2 line means that I’m missing some library but I can’t find a clue about which one
Any odea on what’s wrong with my setup ?
thanks a lot !