Trix Farrar wrote:
The Net-SNMP port (net-mgmt/net-snmp) builds and appears to work just fine, but I cannot build the SNMP module for PHP (net-mgmt/php5-snmp).Attempting to build php5-snmp fails during the configure stage. The error message says to check the config.log. In the /usr/ports/net-mgmt/php5-snmp/work/php-5.2.11/ext/snmp/config.log file I found: configure:5967: checking for snmp_parse_oid in -lnetsnmp configure:6002: cc -o conftest -O2 -pipe -fno-strict-aliasing -R/usr/local/lib -L/usr/local/lib -L/usr/local/lib -lcrypto -lssl -rpath=/usr/local/lib -lnetsnmp -lelf -lm -lkvm -ldevstat conftest.c -lnetsnmp >&5 /usr/local/lib/libnetsnmp.so: undefined reference to `__stack_chk_fail_local' Google-ing around, I have found that the __stack_chk_fail_local symbol is a side effect of compiling with the '-fstack-protector' option for gcc -- which, I believe, is the default for 8.0-RELEASE. Searching /usr/src, I found that this function is referenced in /usr/src/lib/libc/sys/stack_protector.c, but appears to be defined in /usr/src/contrib/gcclibs/libssp/ssp.c, which is part of GCC. I believe that this winds up in /lib/libssp.so.0 -- which also exists under 7.2-RELEASE. The copy of net-mgmt/net-snmp that I compiled under 7.2-RELEASE does not contain the __stack_chk_fail_local symbol. What am I missing? I tried adding '-lssp' to the --with-libs option included in CONFIGURE_ARGS in /usr/ports/net-mgmt/net-snmp/Makefile with no change in behavior. As it stands, I cannot build anything that relies on Net-SNMP.
Yes -- you're not alone. I've seen exactly the same thing, but only on one machine. It works perfectly on an amd64 box running 8.0-RELEASE-p1, but fails miserably on an i386 box running 8.0-STABLE. Time to warm up send-pr(1). Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate Kent, CT11 9PW
signature.asc
Description: OpenPGP digital signature