logo       

lib install problem: msg#00281

os.netbsd.help

Subject: lib install problem

I need to use libnet to inject ethernet frames to test a networking
tool I'm writing. I checked /usr/pkgsrc but the version there is
outdated so I got the latest version and installed by hand. Everything
seems to work ok, but I can't link against the lib no matter what I
try. It is a static (".a") lib, if that matters.

I originally installed it in /usr/pkg/lib but that didn't work (even
after running ldconfig /usr/pkg/lib). Then I installed in /usr/lib,
with no difference. Changing "-llibnet" to "-lnet" results in
"undefined reference" errors for all the functions.

HELP PLEASE!

/home/sjt/tcpip/ether_write % cat Makefile
CFLAGS=-I/usr/pkg/include -O -g -Wall
LDFLAGS=-llibnet
CC=gcc

all: ether_write

ether_write: ether_write.c
$(CC) $(CFLAGS) $(LDFLAGS) ether_write.c -o ether_write

/home/sjt/tcpip/ether_write % ls /usr/lib/libnet*
/usr/lib/libnet.a
/home/sjt/tcpip/ether_write % make
gcc -I/usr/pkg/include -O -g -Wall -llibnet ether_write.c -o ether_write
/usr/bin/ld: cannot open -llibnet: No such file or directory
collect2: ld returned 1 exit status
*** Error code 1

Stop.


At this point I tried to change to "-lnet" instead of "-llibnet" which
results in this:

/home/sjt/tcpip/ether_write % make
gcc -I/usr/pkg/include -O -g -Wall -lnet ether_write.c -o ether_write
/tmp/cctslD53.o: In function `main':
/home/sjt/tcpip/ether_write/ether_write.c:29: undefined reference to
`libnet_init'
/home/sjt/tcpip/ether_write/ether_write.c:36: undefined reference to
`libnet_build_ethernet'
/home/sjt/tcpip/ether_write/ether_write.c:45: undefined reference to
`libnet_write'
/home/sjt/tcpip/ether_write/ether_write.c:49: undefined reference to
`libnet_destroy'
/home/sjt/tcpip/ether_write/ether_write.c:41: undefined reference to
`libnet_destroy'
collect2: ld returned 1 exit status
*** Error code 1

Stop.

--
Steve Tremblett



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise