Problem linking with libdb

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I am trying to compile iproute2 but something does not work when
linking with libdb.

This is what I am using:

- iproute2-ss050607
- linux 2.4.22
- make 3.79.1
- gcc 2.95.3
- ld 2.15

When I type make, it ends somewhere in ./misc with the following error
message:

make output starts here:

gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -DCONFIG_GACT -DCONFIG_GACT_PROB   -c -o p_icmp.o p_icmp.c
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -DCONFIG_GACT -DCONFIG_GACT_PROB   -c -o p_tcp.o p_tcp.c
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -DCONFIG_GACT -DCONFIG_GACT_PROB   -c -o p_udp.o p_udp.c
gcc -Wl,-export-dynamic  tc.o tc_qdisc.o tc_class.o tc_filter.o tc_util.o m_police.o m_estimator.o m_action.o q_fifo.o q_sfq.o q_red.o q_prio.o
 q_tbf.o q_cbq.o f_rsvp.o f_u32.o f_route.o f_fw.o q_dsmark.o q_gred.o f_tcindex.o q_ingress.o q_hfsc.o q_htb.o m_gact.o m_mirred.o m_ipt.o m_pedit.o p_ip.o p_icmp.o p_tcp.o p_udp.o ../lib/libnetlink.a ../lib/libutil.a tc_core.o tc_red.o tc_cbq.o tc_estimator.o  -lresolv -L../lib -lnetlink -lutil -L/usr/local/BerkeleyDB.4.2/lib  -L. -ltc -lm -ldl -o tc
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -DCONFIG_GACT -DCONFIG_GACT_PROB -shared -fpic q_netem.c -o q_netem.so
make[1]: Leaving directory `/home/src/iproute2-ss050607/tc'
make[1]: Entering directory `/home/src/iproute2-ss050607/misc'
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES   -c -o ss.o ss.c
bison ssfilter.y -o ssfilter.c
ssfilter.y: conflicts: 27 shift/reduce
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES   -c -o ssfilter.o ssfilter.c
gcc   ss.o ssfilter.o  -lresolv -L../lib -lnetlink -lutil -L/usr/local/BerkeleyDB.4.2/lib  -o ss
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES  -o nstat nstat.c -lm
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES  -o ifstat ifstat.c ../lib/libnetlink.a ../lib/libutil.a -lm
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES  -o rtacct rtacct.c ../lib/libnetlink.a ../lib/libutil.a -lm
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -I/usr/include/db2    -o arpd arpd.c ../lib/libnetlink.a ../lib/libutil.a -lpthread -ldb
/usr/i486-suse-linux/bin/ld: cannot find -ldb
collect2: ld returned 1 exit status
make[1]: *** [arpd] Error 1
make[1]: Leaving directory `/home/src/iproute2-ss050607/misc'
make[1]: Entering directory `/home/src/iproute2-ss050607/netem'
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -o maketable maketable.c -lm
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES    normal.c  -lresolv -L../lib -lnetlink -lutil -L/usr/local/BerkeleyDB.4.2/lib  -lm  -o normal
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES    pareto.c  -lresolv -L../lib -lnetlink -lutil -L/usr/local/BerkeleyDB.4.2/lib  -lm  -o pareto
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES    paretonormal.c  -lresolv -L../lib -lnetlink -lutil -L/usr/local/BerkeleyDB.4.2/lib  -lm  -o paretonormal
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -o normal normal.c -lm
./normal >normal.dist
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -o pareto pareto.c -lm
./pareto >pareto.dist
gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -o paretonormal paretonormal.c -lm
./paretonormal >paretonormal.dist
make[1]: *** [paretonormal.dist] Error 139
make[1]: Leaving directory `/home/src/iproute2-ss050607/netem'
make: *** [all] Error 2

end of make output

Make keeps telling me that it can't find library libdb, but it's
there. Even adding a -L option did not work (as you can see from the
make output above).

Entering 'find / -name *lib*db*' on my system returns:

/lib/libthread_db.so.1
/lib/libdb.so.2
/lib/libdb.so.3
/usr/lib/libthread_db.so
/usr/local/BerkeleyDB.4.2/lib/libdb.a
/usr/local/BerkeleyDB.4.2/lib/libdb.so
/usr/share/ada/html/gnat/g-os_lib__adb.htm
/usr/share/ada/html/gnat/s-stalib__adb.htm
/usr/share/ada/html/gnat/i-os2lib__adb.htm
/home/src/Python-2.4.1/Doc/lib/libbsddb.tex
/home/src/Python-2.4.1/Doc/lib/libpdb.tex
/home/src/Python-2.4.1/Doc/lib/libwhichdb.tex
/home/src/db-4.2.52.NC/build_win32/libdb.rc
/home/src/db-4.2.52.NC/build_win32/libdb.def
/home/src/db-4.2.52.NC/build_unix/libdb.a
/home/src/asterisk-1.0.3/db1-ast/libdb.map
/home/src/mysql-4.1.7/bdb/build_win32/libdb.rc
/home/src/mysql-4.1.7/bdb/build_win32/libdb.def

Isn't this enough 'dblib' to link against? Any idea why the linker
fails to find my libdb?

many thanks, Felix

-------------------------

Felix



_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux