Good morning, and apologies for the length of the post... I have run into a strange conflict using openssl-0.9.7e-r1 / perl on gentoo. An perl app that uses Net::FTP (amongst others) generates the following error when run:
/usr/bin/perl: symbol lookup error: /usr/lib/libssl.so.0.9.7: undefined symbol: EVP_idea_cbc After going to the ebuild, putting it in overlay and removing "no-idea" from the configure options, I rebuilt the package on our build host (emerge -bv openssl) and then distributed to the affected server. There was no effect - same error, even though "openssl no-idea" shows that idea is installed and working. strings /usr/lib/ssl.so.0.9.7 | grep EVP_idea_cbc also come up fine. What is stranger though is when taking the source, running ./config, and making libssl.so.0.9.7, then copying into /usr/lib the error goes away. Commenting out Use Net::FTP; also makes that error go away, but breaks the script. Net::FTP only seems a culprit in this script and I've asked the developer if there are any routines in Net::FTP that use crypto that he's calling... Diffing the Makefiles doesn't seem to show *anything* that would cause a significant difference in output (see end). Still, disabling some items like --noexecstack has had no effect (and probably a bad idea, after reading bugs.gentoo.org). The gentoo patches are not causing the discrepancy afaict, because copying the "good" makefile over yields working libs. It's worth noting that with the "good" makefile I have to do a manual "make libssl.0.9.7". I have als remerged perl to be on the safe side. So, with a stock system, I think it's strange that a standard pm would require crypto disabled by default, but weirder is that perl isn't finding the symbol. Severely stumped - any ideas? P.S. I've also done an ebuild that basically uncompiles the source, runs config with the right options, and goes... but that seems a bit reckless given that the gentoo dev team put that stuff in there for a reason... right? # Makefile from openssl default ./config , Makefile.ebuild cp from /var/tmp/portage/openssl* diff Makefile Makefile.ebuild 64c64 < CFLAG= -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM --- > CFLAG= -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H > -DOPENSSL_NO_KRB5 -DL_ENDIAN -DTERMIO -Wall -O3 -march=pentium3 > -mcpu=pentium4 -pipe -fomit-frame-pointer -Wa,--noexecstack -DSHA1_ASM > -DMD5_ASM -DRMD160_ASM 106c106 < FIPS_DES_ENC= fips_des_enc.o --- > FIPS_DES_ENC= 180,181c180,181 < DIRS= crypto fips ssl $(SHLIB_MARK) sigs apps test tools < SHLIBDIRS= fips crypto ssl --- > DIRS= crypto ssl $(SHLIB_MARK) sigs apps test tools > SHLIBDIRS= crypto ssl -- gentoo-user@gentoo.org mailing list