net-snmp links to libperl and probably enables perl functionality in the process even when we explicitly disable perl. (This is NON STANDARD) ------------------------------------------------------------------------ USE="-*" emerge net-snmp [ebuild R ] net-analyzer/net-snmp-5.1.1-r1 -X -ipv6 -lm_sensors -perl -ssl -tcpd 0 kB uCpie net-snmp # ldd `which snmpd` libz.so.1 => /lib/libz.so.1 (0x00000000) libperl.so.1 => /usr/lib/libperl.so.1 (0x00000000) libpthread.so.0 => /lib/libpthread.so.0 (0x00000000) libnsl.so.0 => /lib/libnsl.so.0 (0x00000000) libm.so.0 => /lib/libm.so.0 (0x00000000) libcrypt.so.0 => /lib/libcrypt.so.0 (0x00000000) libutil.so.0 => /lib/libutil.so.0 (0x00000000) libc.so.0 => /lib/libc.so.0 (0x00000000) libdl.so.0 => /lib/libdl.so.0 (0x00000000) /lib/ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x00000000) ------------------------------------------------------------------------ Testeted this happened on other hosts. amd64# emerge net-snmp --nodeps > out.x amd64# grep lperl out.x checking for perl LDFLAGS... -rdynamic -L/usr/local/lib /usr/lib/perl5/5.8.4/i386-linux/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.8.4/i386-linux/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc /bin/sh ../libtool --mode=link gcc -Os -pipe -g3 -Dlinux -o snmpd snmpd.lo libnetsnmpagent.la libnetsnmpmibs.la helpers/libnetsnmphelpers.la ../snmplib/libnetsnmp.la -ldl -lz -lm -rdynamic -L/usr/local/lib /usr/lib/perl5/5.8.4/i386-linux/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.8.4/i386-linux/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc -ldl gcc -Os -pipe -g3 -Dlinux -o snmpd snmpd.o -rdynamic ./.libs/libnetsnmpagent.a ./.libs/libnetsnmpmibs.a helpers/.libs/libnetsnmphelpers.a ../snmplib/.libs/libnetsnmp.a -lz -L/usr/local/lib /usr/lib/perl5/5.8.4/i386-linux/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.8.4/i386-linux/CORE -lperl -lpthread -lnsl -lm -lcrypt -lutil -lc -ldl /bin/sh ../libtool --mode=link gcc -o snmptrapd snmptrapd.lo libnetsnmptrapd.la -L../snmplib -L../agent -L../agent/helpers ../agent/libnetsnmpagent.la ../agent/libnetsnmpmibs.la ../agent/helpers/libnetsnmphelpers.la ../snmplib/libnetsnmp.la -ldl -lz -lm -rdynamic -L/usr/local/lib /usr/lib/perl5/5.8.4/i386-linux/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.8.4/i386-linux/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc gcc -o snmptrapd snmptrapd.o -rdynamic ./.libs/libnetsnmptrapd.a -L/var/tmp/portage/net-snmp-5.1.1-r1/work/net-snmp-5.1.1/snmplib -L/var/tmp/portage/net-snmp-5.1.1-r1/work/net-snmp-5.1.1/agent -L/var/tmp/portage/net-snmp-5.1.1-r1/work/net-snmp-5.1.1/agent/helpers ../agent/.libs/libnetsnmpagent.a ../agent/.libs/libnetsnmpmibs.a ../agent/helpers/.libs/libnetsnmphelpers.a ../snmplib/.libs/libnetsnmp.a -lz -L/usr/local/lib /usr/lib/perl5/5.8.4/i386-linux/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.8.4/i386-linux/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc ------------------------------------------------------------------------ Desired solution is for net-snmp to not be linking to perl anymore by the time I wake up and start cvs update then go make some coffee and come back to the computer emerge net-snmp like above and continue working on my way.
Well I'm enjoying my coffee right now. Seems your herd is to small and or moves to slow for me. Ok here is some more info about what seems to be going on. We have the ac macro's in the configure.in ------------------------------------------------------------------- # # Embedded Perl specific stuff # if test "x$embed_perl" = "xyes"; then myperl=$ac_cv_path_PERLPROG if test $myperl = "no"; then AC_MSG_ERROR(--enable-embedded-perl requested but no perl executable found) fi AC_MSG_CHECKING([for perl CFLAGS]) perlcflags=`$myperl -MExtUtils::Embed -e ccopts` AC_MSG_RESULT($perlcflags) CPPFLAGS="$CPPFLAGS $perlcflags" AC_MSG_CHECKING([for perl LDFLAGS]) perlldopts=`$myperl -MExtUtils::Embed -e ldopts` AC_MSG_RESULT($perlldopts) LIBS="$LIBS $perlldopts" # newer perl vs older perl call functions AC_CHECK_FUNCS(Perl_eval_pv eval_pv perl_eval_pv) AC_DEFINE(NETSNMP_EMBEDDED_PERL) OTHERAGENTLIBOBJS="snmp_perl.o" OTHERAGENTLIBLOBJS="snmp_perl.lo" EMBEDPERLINSTALL="embedperlinstall" EMBEDPERLUNINSTALL="embedperluninstall" AC_MSG_CACHE_ADD(Embedded perl support: enabled) else EMBEDPERLINSTALL="" EMBEDPERLUNINSTALL="" AC_MSG_CACHE_ADD(Embedded perl support: disabled) fi ------------------------------------------------------------------------ Right but our configure options are/were as follows. uCpie net-snmp-5.1.1 # grep ./configure config.log | head -n1 $ ./configure --prefix=/usr --host=i386-pc-linux-uclibc --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-sys-location=Unknown --with-sys-contact=root@Unknown --with-default-snmp-version=3 --with-mib-modules=host smux ucd-snmp/dlmod --with-logfile=/var/log/net-snmpd.log --with-persistent-directory=/var/lib/net-snmp --enable-ucd-snmp-compatibility --enable-shared --with-zlib --disable-embedded-perl --without-openssl --enable-internal-md5 --without-libwrap --disable-ipv6 ------------------------------------------------------------ The agent libs end up looking like this in the config.log. AGENTLIBS='-ldl -lz -lm -rdynamic -L/usr/local/lib /usr/lib/perl5/5.8.4/i386-linux/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.8.4/i386-linux/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc'
fixed in portage.
Bug is present in 5.2 ebuild again. I'll have an updated ebuild for us soon. I've also talked to upstream about this on irc and filed a bug. It will be fixed in 5.2.1 http://sourceforge.net/tracker/index.php?func=detail&aid=1075505&group_id=12694&atid=112694
On x86, worked okay with 5.1.1. But now 5.1.1-r1 requires setting the Perl use flag back to off.
I'm using this ebuild which does not link incorrectly to perl. http://oc12.net/~solar/local/net-analyzer/net-snmp/net-snmp-5.2-r1.ebuild
I shouldn't have specified the exact line number in the sedding last time. in portage.