trying to emerge mod_php 4.3.6 rc 2 results in the following... checking for SNMP support... yes checking OpenSSL dir for SNMP... no checking for snmp_parse_oid in -lnetsnmp... no checking for init_snmp in -lnetsnmp... no configure: error: SNMP sanity check failed. Please check config.log for more information. !!! ERROR: dev-php/mod_php-4.3.6_rc2 failed. !!! Function econf, Line 365, Exitcode 1 !!! econf failed I have tried updating ucd-snmp and re-emerging which fixed earlier bugs I found but that didn't help. Reproducible: Always Steps to Reproduce: 1.emerge -u mod_php 2. 3. Actual Results: didn't emerge... checking for SNMP support... yes checking OpenSSL dir for SNMP... no checking for snmp_parse_oid in -lnetsnmp... no checking for init_snmp in -lnetsnmp... no configure: error: SNMP sanity check failed. Please check config.log for more information. !!! ERROR: dev-php/mod_php-4.3.6_rc2 failed. !!! Function econf, Line 365, Exitcode 1 !!! econf failed Expected Results: emerged Portage 2.0.50-r3 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.3-gentoo-r1) ================================================================= System uname: 2.6.3-gentoo-r1 i686 AMD Athlon(tm) XP 2600+ Gentoo Base System version 1.4.3.13 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.58-r1 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-mcpu=athlon-xp -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs buildpkg ccache cvs notitles sandbox usersandbox" GENTOO_MIRRORS="http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/ http://gentoo.oregonstate.edu/ http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa apache2 apm arts avi berkdb bonobo cdr crypt cups encode esd ethereal foomaticdb gdbm gif gnome gphoto2 gpm gtk gtk2 gtkhtml guile imap imlib jpeg kde ldap libg++ libwww mad mikmod motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pda pdflib perl png postgres ppds python qt quicktime readline samba sdl slang snmp spell ssl svga tcpd truetype x86 xml xml2 xmms xv And the tail end of config.log... configure:75325: checking for SNMP support configure:75371: checking OpenSSL dir for SNMP configure:76558: checking for snmp_parse_oid in -lnetsnmp configure:76577: gcc -o conftest -mcpu=athlon-xp -O3 -pipe -L/usr/lib -ldb-4.0 -L/ usr/X11R6/lib -ltiff -L/usr/lib -Wl,-rpath,/usr/qt/3/lib -L/usr/qt/3/lib conftest.c -lnetsnmp -lqt -lpspell -lpq -lpdf -lz -ltiff -lpng -ljpeg -lmysqlclient -lmhash -l mcrypt -lltdl -lldap -llber -lcrypt -lpam -lexslt -lxml2 -lxslt -lz -ldb-4.0 -lndbm -lgdbm -lcrack -lbz2 -lz -lssl -lcrypto -lresolv -lm -lxmlparse -lxmltok -lxml2 -lz -lm -lnetsnmp -lcrypto -lelf -lm 1>&5 /usr/lib/libnetsnmp.so: undefined reference to `des_cbc_encrypt' /usr/lib/libnetsnmp.so: undefined reference to `des_key_sched' /usr/lib/libnetsnmp.so: undefined reference to `des_ncbc_encrypt' collect2: ld returned 1 exit status configure: failed program was: #line 76566 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char snmp_parse_oid(); int main() { snmp_parse_oid() ; return 0; } configure:76694: checking for init_snmp in -lnetsnmp configure:76713: gcc -o conftest -mcpu=athlon-xp -O3 -pipe -L/usr/lib -ldb-4.0 -L/ usr/X11R6/lib -ltiff -L/usr/lib -Wl,-rpath,/usr/qt/3/lib -L/usr/qt/3/lib conftest.c -lnetsnmp -lqt -lpspell -lpq -lpdf -lz -ltiff -lpng -ljpeg -lmysqlclient -lmhash -l mcrypt -lltdl -lldap -llber -lcrypt -lpam -lexslt -lxml2 -lxslt -lz -ldb-4.0 -lndbm -lgdbm -lcrack -lbz2 -lz -lssl -lcrypto -lresolv -lm -lxmlparse -lxmltok -lxml2 -lz -lm -lnetsnmp -lcrypto -lelf -lm 1>&5 /usr/lib/libnetsnmp.so: undefined reference to `des_cbc_encrypt' /usr/lib/libnetsnmp.so: undefined reference to `des_key_sched' /usr/lib/libnetsnmp.so: undefined reference to `des_ncbc_encrypt' collect2: ld returned 1 exit status configure: failed program was: #line 76702 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char init_snmp(); int main() { init_snmp() ; return 0; }
run revdep-rebuild
I ran revdep-rebuild and it re-did open office and imagemagik with no complaints, I then re tried emerge -u mod_php but got the same results as before. Any more ideas?
you said you re-merged ucd-snmp, but php is picking up netsnmp, and i'm not sure why still. portage only allows one to be installed at a time for good reason. possibly you have parts of netsnmp left over. and it's confusing php. revdep-rebuild usually fixes it, but in this case you'll need to clean it up more yourself.
In the config.log for mod_php-4.3.6_rc2 I am getting the same error messages with reference to SNMP support. Checking my system I see that I have net-snmp not ucd-snmp installed. After rebuilding net-snmp I am able to emerge mod_php. Is there a way to print out the dependency tree for any given package so that you can see what required depends on a specific package?
I checked and I had both net-snmp and ucd-snmp installed, both at latest version. I tried re-emerging net-snmp to see what that did but portage wouldn't let me, like the Robin J says, so I tried un-merging net-snmp, then a revdep-rebuild and an ldconfig (revdep rebuilt open office again but not much else). I tried the emerge -u mod_php again but it failed again with a slightly different ending to the config.log. Is it worth trying to remove ucd-snmp and put back net-snmp? How can I tell what is dependant on ucd-snmp before I do remove if it that is what it needs? Ta /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char kstat_read(); int main() { kstat_read() ; return 0; } configure:76558: checking for snmp_parse_oid in -lsnmp configure:76577: gcc -o conftest -mcpu=athlon-xp -O3 -pipe -L/usr/lib -ldb-4.0 -L/usr/X11R6/lib -ltiff -L/usr/lib -Wl,-rpath,/usr/qt/3/lib -L/usr/qt/3/lib con ftest.c -lsnmp -lsnmp -lqt -lpspell -lpq -lpdf -lz -ltiff -lpng -ljpeg -lmysqlc lient -lmhash -lmcrypt -lltdl -lldap -llber -lcrypt -lpam -lexslt -lxml2 -lxslt -lz -ldb-4.0 -lndbm -lgdbm -lcrack -lbz2 -lz -lssl -lcrypto -lresolv -lm -lxmlp arse -lxmltok -lxml2 -lz -lm 1>&5 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../../i686-pc-linux-gnu/bin/ld: c annot find -lsnmp collect2: ld returned 1 exit status configure: failed program was: #line 76566 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char snmp_parse_oid(); int main() { snmp_parse_oid() ; return 0; } configure:76694: checking for init_snmp in -lsnmp configure:76713: gcc -o conftest -mcpu=athlon-xp -O3 -pipe -L/usr/lib -ldb-4.0 -L/usr/X11R6/lib -ltiff -L/usr/lib -Wl,-rpath,/usr/qt/3/lib -L/usr/qt/3/lib con ftest.c -lsnmp -lsnmp -lqt -lpspell -lpq -lpdf -lz -ltiff -lpng -ljpeg -lmysqlc lient -lmhash -lmcrypt -lltdl -lldap -llber -lcrypt -lpam -lexslt -lxml2 -lxslt -lz -ldb-4.0 -lndbm -lgdbm -lcrack -lbz2 -lz -lssl -lcrypto -lresolv -lm -lxmlp arse -lxmltok -lxml2 -lz -lm 1>&5 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../../i686-pc-linux-gnu/bin/ld: c annot find -lsnmp collect2: ld returned 1 exit status configure: failed program was: #line 76702 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char init_snmp(); int main() { init_snmp() ; return 0; }
Fixed it! I unmerged ucd-snmp and re-emerged net-snmp and the emerge of mod_php worked. (Or at least it has started compiling which is further than ever, if this fails it will be another bug :-) )