pkgsrc-Users archive

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

DragonFly BSD, net-snmp and libtool wrapper



I'm trying to get net-snmp to build again in DragonFly BSD and I'm almost 
succeeded. Now I have single issue remaining - I can't get daemons to 
link. The problem seems to be the libtool wrapper which reorders libs so 
that snmpd and snmptrapd don't link.

Here is libtool command line to link snmpd:

/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

And it fails with:

/usr/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/agent/.libs/libnetsnmpagent.so:
 
undefined reference to `boot_DynaLoader'

Note that libnetsnmpagent.la is given _before_ DynaLoader.a in this 
command line. But the last line from work.log is:

<.> /usr/obj/pkgsrc/net/net-snmp/work/.gcc/bin/gcc -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/usr/obj/pkgsrc/net/net-snmp/work/net-snmp-5.4.1/snmplib
-L/usr/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 -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
-Wl,--rpath,/usr/pkg/lib  -lnetsnmpmibs -lnetsnmphelpers -lnetsnmpagent
-lwrap -lkvm -lkinfo -lnetsnmp -lperl -lm -lcrypt -lpthread

Note that -lnetsnmpagent is now _after_ DynaLoader.a.

Linking manually using /usr/pkg/bin/libtool directly works fine. So, how I 
should (can) fix it?


-- 
Hasso Tepper


Home | Main Index | Thread Index | Old Index