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