On 28 Feb 2012, at 5:15 PM, JonathonS wrote:
> Thanks guys. Sorry for the confusion.  I thought "U" meant undefined
> and "T" meant it *belongs* in the text section, NOT that it actually
> *exists* in the text section :)
> 
> Here is my linker command.
> 
> g++ -g -o unit_tests unit_tests.o -L/home/user/build/openssl/debug/lib
> -lcrypto -lssl --L/home/user/build/libcurl/debug/lib -lcurl -ldl
> -lstdc++ -lpthread -lrt -lz -lstdc++
> 
> When I built libcurl, I specified the --with-ssl=/.../ flag to point
> to my openssl build.

Try putting -lssl after -lcurl, and -lcrypto after -lssl, on the linker command 
line. Unlike dynamic libraries, the linker only uses the objects from a static 
library that it needs in order to satisfy all the undefined symbols; and the 
normal behavior of 'ld' is to make one pass through its arguments, in order, 
pulling in whatever's needed from each one at the time. At the time it's 
linking things from libcrypto.a in your example it hasn't yet looked at libssl 
or libcurl.


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to