Conflicting symbols in NSS and OpenSSL
Date: Fri, 11 Jan 2002 15:30:41 -0800
I have compiled libcurl.so as a dynamic library that links statically to
OpenSSL (libcrypto.a and libssl.a). My program links with libcurl.so.
My program also has to link with another X.so which is linked
dynamically to the NSS shared libraries.
OpenSSL and NSS share some function names (the one which I am running
into is SHA1_Update). I am not calling these conflicting functions
directly, but both the libraries (curl and X) are. In the course of
running the program, I get a core dump and on running the debugger I
find that it's because X is calling the SHA1_Update in libcurl.so
instead of the one in NSS.
Is there any way to fix this problem apart from changing the code in one
of these libraries?
Would there be any way to compile curl with openssl in such a way that
none of the openssl symbols are visible as globals?
This is on Linux.
Received on 2002-01-12