Strange linking problem
Hasso Tepper
hasso at estpak.ee
Mon May 26 06:12:48 PDT 2008
While trying to get net/net-snmp to work again in DragonFly I'm running
into strange linking problem. Net-snmp worked fine for some time and then
stopped linking. I _think_ that it was around the time when we switched
gcc and binutils. Therefore I _think_ that it's not the problem in the
net-snmp though.
The problem is that linking net-snmp agent fails:
/bin/sh ../libtool --mode=link
cc -DNETSNMP_ENABLE_IPV6 -O2 -I/usr/pkg/include -I/usr/include -Udragonfly -Ddragonfly=dragonfly -o
snmpd
snmpd.lo -L../snmplib/.libs -L../snmplib -L./.libs -L./helpers/.libs -L./helpers -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib
libnetsnmpagent.la helpers/libnetsnmphelpers.la
libnetsnmpmibs.la ../snmplib/libnetsnmp.la -Wl,-R/usr/pkg/lib/perl5/5.8.0/i386-dragonfly-thread-multi/CORE -Wl,-R/usr/pkg/lib -pthread -Wl,-E /usr/pkg/lib/perl5/5.8.0/i386-dragonfly-thread-multi/auto/DynaLoader/DynaLoader.a -L/usr/pkg/lib/perl5/5.8.0/i386-dragonfly-thread-multi/CORE -lperl -lm -lcrypt -lpthread
cc -DNETSNMP_ENABLE_IPV6 -O2 -I/usr/obj/pkgsrc/net/net-snmp/work/.buildlink/include -Udragonfly -Ddragonfly=dragonfly -o .libs/snmpd .libs/snmpd.o -Wl,-R/usr/pkg/lib -Wl,-R/usr/pkg/lib/perl5/5.8.0/i386-dragonfly-thread-multi/CORE -pthread -Wl,-E -L/usr/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/agent/.libs -L/usr/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/agent/helpers/.libs -L/usr/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/snmplib/.libs -L/home/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/snmplib/.libs -L/home/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/snmplib -L/home/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/agent/.libs -L/home/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/agent/helpers/.libs -L/home/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/agent/helpers -L/usr/obj/pkgsrc/net/net-snmp/work/.buildlink/lib -L/usr/lib/lib /usr/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/agent/.libs/libnetsnmpmibs.so /usr/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/agent/helpers/.libs/libnetsnmphelpers.so /usr/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/agent/.libs/libnetsnmpagent.so -lwrap -lkvm -lkinfo /usr/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/snmplib/.libs/libnetsnmp.so -pthread /usr/pkg/lib/perl5/5.8.0/i386-dragonfly-thread-multi/auto/DynaLoader/DynaLoader.a -L/usr/obj/pkgsrc/net/net-snmp/work/.buildlink/lib/perl5/5.8.0/i386-dragonfly-thread-multi/CORE -lperl -lm -lcrypt -lpthread -Wl,--rpath -Wl,/usr/pkg/lib
/usr/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/agent/.libs/libnetsnmpagent.so:
undefined reference to `boot_DynaLoader'
The `boot_DynaLoader' symbol should come from
/usr/pkg/lib/perl5/5.8.0/i386-dragonfly-thread-multi/auto/DynaLoader/DynaLoader.a.
The point is that if I unpack DynaLoader.o from DynaLoader.a with ar -x
and replace DynaLoader.a with DynaLoader.o in the linking, it links (and
works, tested) fine.
Any ideas?
--
Hasso Tepper
More information about the Users
mailing list