Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 59605 - net-snmp is linking to libperl with USE="-perl" set
Summary: net-snmp is linking to libperl with USE="-perl" set
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High blocker (vote)
Assignee: Gentoo Netmon project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-06 04:10 UTC by solar (RETIRED)
Modified: 2004-12-17 04:31 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description solar (RETIRED) gentoo-dev 2004-08-06 04:10:59 UTC
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.
Comment 1 solar (RETIRED) gentoo-dev 2004-08-06 12:48:25 UTC
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'
Comment 2 Eldad Zack (RETIRED) gentoo-dev 2004-08-10 04:04:29 UTC
fixed in portage.
Comment 3 solar (RETIRED) gentoo-dev 2004-11-29 11:54:06 UTC
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
Comment 4 Kevin Vap 2004-12-03 13:28:08 UTC
On x86, worked okay with 5.1.1.
But now 5.1.1-r1 requires setting the Perl use flag back to off.
Comment 5 solar (RETIRED) gentoo-dev 2004-12-04 05:43:50 UTC
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
Comment 6 Eldad Zack (RETIRED) gentoo-dev 2004-12-17 04:31:42 UTC
I shouldn't have specified the exact line number in the sedding last time.
in portage.