On Tue, Oct 12, 2010, Bill wrote: > Hello Steve, > > Good eye! That got rid of the compilation error. > > However, FIPS_mode_set(1) fails when it gets called from a "shared" library > that links with the "static" version of the FIPS-capable OpenSSL library. > > Calling FIPS_mode_set(1) works fine when called directly from an executable > that has been compiled with the static version of the FIPS capable OpenSSL > library. > > The same scenario works fine on Mac OS X (Leopard and Snow Leopard). So it > looks like this problem is specific to Ubuntu Linux. > > Is there a trick to make this work? > > Here are the details: > > $ make > gcc -c foo.cpp -fPIC -Wall -I./openssl-0.9.8o-fips/include -I. > rm -f libfoo.so > FIPSLD_CC=gcc ./openssl-0.9.8o-fips/bin/fipsld -shared > -Wl,-soname,libfoo.so.1 -o libfoo.so.1 foo.o \ > ./openssl-0.9.8o-fips/lib/libcrypto.a -lstdc++ > ln -s ./libfoo.so.1 ./libfoo.so > gcc -o foobar foobar.cpp -Wall -I. -L. -lfoo -lstdc++
Instead of an explicit path to libcrypto.a try -L/path -lcrypto If that doesn't help uncomment out the set -x a the top of fipsld and post the debug output. Steve. -- Dr Stephen N. Henson. OpenSSL project core developer. Commercial tech support now available see: http://www.openssl.org ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org