Hi Tim,
Am 16.12.2014 um 14:00 schrieb Tim Ruehsen:
That is not so easy, since when having --with-libssl-prefix=/usr/local/ssl,
you can't just
OPENSSL_CFLAGS=$with_libssl_prefix/include
OPENSSL_LIBS=$with_libssl_prefix/lib
You also have to manually specify the libraries you want to link with... this
can be different on different systems.
You are right, and this does also not ensure that the wanted libraries
are actually used at run-time, on Linux e.g. the OPENSSL_LIBS must also
somehow be in the dynamic library load path.
So I decided to set PKG_CONFIG_PATH before the check and unset it afterwards.
It works for me... but I failed to test it without pkg-config. Without pkg-
config I couldn't get autoreconf working :-(
Unfortunately this approach has the same problems as it also does not do
more than set the inlcude and lib paths.
I made the following experiments on my Linux:
Installed a current OPENSSL from source in /usr/local/openssl (with
openssl configure: ./config --prefix=/usr/local/openssl shared)
Configured and built wget 1.16.1 with your PKG_CONFIG_PATH patch (with
wget configure: configure --with-ssl=openssl
--with-libssl-prefix=/usr/local/openssl).
With an active pkg-config program I see now the following in the config
summary:
CFlags: -I/usr/include/uuid -I/usr/local/openssl/include
-DHAVE_LIBSSL -DNDEBUG
Libs: -lpcre -luuid -L/usr/local/openssl/lib -lssl -lcrypto -lz
-lidn
So the compile and link phase will use the wanted files, but a ldd on
the resulting wget binary still shows:
libssl.so.1.0.0 => /lib/libssl.so.1.0.0
libcrypto.so.1.0.0 => /lib/libcrypto.so.1.0.0
With a deactivated pkg-config program the old library detection code
seems to be used and I get:
CFlags: -DNDEBUG -I/usr/local/openssl/include
Libs: /usr/local/openssl/lib/libssl.so
/usr/local/openssl/lib/libcrypto.so
Wl,-rpath -Wl,/usr/local/openssl/lib/ -ldl -lz -lidn -luuid
-lpcre
and ldd shows now:
libssl.so.1.0.0 => /usr/local/openssl/lib/libssl.so.1.0.0
libcrypto.so.1.0.0 => /usr/local/openssl/lib/libcrypto.so.1.0.0
The wanted openssl libraries are inserted here with full path names and
really used.
Therefore I see now only one possibility to keep these two prefix
options without more problems and new questions, namely skip the
pkg-config based completely for the SSL libraries if these options are
used.
Regards, Jochen