Braun Brelin wrote:
> Hello,
Hello,
> I originally posted to openssl-users, but
> I've just realized that there exists and
> openssl-dev mailing list and this question
> is more on-topic for the dev list anyway.
It isn't.
It is a general C/ linking problem
You can solve it reading the build line and the error messages.
(and a short look at the content of your librares.)
> ----------------ERRORS FOLLOW-----------------
> /usr/local/bin/gcc client.o infernet_c_connect.o infernet_c_disconnect.o inferne
> t_c_receive.o infernet_c_send.o infernet_ssl_c_connect.o infernet_ssl_c_setup.o
> -o client -L/usr/local/ssl/lib -g -lcrypto -lssl -lxnet -I/usr/local/ssl/includ
> e
you link the libraries libcrypto.a and libssl.a in this order.
Remember:
the linker binds every .o to the program and starts looks in the
libraries
for unresolved symbols.
> Undefined first referenced
> symbol in file
> BIO_f_buffer /usr/local/ssl/lib/libssl.a(ssl_lib.o)
[...]
meaning:
while binding ssl_lib.o from libssl.a the linker had an symbol it wasn't
able to resolve.
It was the symbol BIO_f_buffer.
OK.
you have to find a library containing the symbol BIO_f_buffer and link
it after libssl.a
to your program.
Have you a library with this symbol ?
After a short search you should find the library libcryto.a.
You must list libcrypto.a after libssl.a.
the link line should have been:
/usr/local/bin/gcc client.o infernet_c_connect.o infernet_c_disconnect.o
\
infernet_c_receive.o infernet_c_send.o infernet_ssl_c_connect.o \
infernet_ssl_c_setup.o \
-o client -L/usr/local/ssl/lib -g -lssl -lcrypto -lxnet
Must be somewhere in the GCC FAQ...
By
Goetz
--
Goetz Babin-Ebell, TC TrustCenter GmbH, http://www.trustcenter.de
Sonninstr. 24-28, 20097 Hamburg, Germany
Tel.: +49-(0)40 80 80 26 -0, Fax: +49-(0)40 80 80 26 -126
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]