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

Reply via email to