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

Reply via email to