[openssl-users] openssl 1.0.2 shared build's linking is not consistent - bin and libs linked to different libcrypto.so's
h15234 at mailas.com
h15234 at mailas.com
Tue Mar 17 15:22:09 UTC 2015
I'm trying to build a library self-consistent instance of openssl 1.0.2 on linux/64.
Setting *FLAGS & rpath, although the openssl binary links correctly against its own {libcrypto,libssl}.so, the libssl.so links against *system*, not its own, libcrypto.
I've tried a bunch of combinations of *FLAGS. Always the same result. The current env/result is:
cd ./openssl-1.0.2
export SHARED_LDFLAGS="-L/usr/local/sslTEST/lib64 -Wl,-rpath,/usr/local/sslTEST/lib64 -lssl -lcrypto"
export LDFLAGS=${SHARED_LDFLAGS}
export LIBDEPS=${SHARED_LDFLAGS}
./config \
--openssldir=/usr/local/sslTEST \
--libdir=lib64 \
threads shared zlib \
enable-ec_nistp_64_gcc_128 \
no-idea \
no-ssl2 \
no-rc5 \
no-mdc2 \
no-hw \
no-ec2m \
enable-rfc3779
make depend
make
make install
There are no apparent errors in the build output.
The build results in
/usr/local/sslTEST/bin/openssl version
OpenSSL 1.0.2 22 Jan 2015
ldd \
/usr/local/sslTEST/bin/openssl \
/usr/local/sslTEST/lib64/libssl.so.1.0.0 \
/usr/local/sslTEST/lib64/libcrypto.so.1.0.0
/usr/local/sslTEST/bin/openssl:
linux-vdso.so.1 (0x00007ffefffd7000)
libssl.so.1.0.0 => /usr/local/sslTEST/lib64/libssl.so.1.0.0 (0x00007f93cbe0e000)
!! libcrypto.so.1.0.0 => /usr/local/sslTEST/lib64/libcrypto.so.1.0.0 (0x00007f93cb9ce000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f93cb77f000)
libz.so.1 => /lib64/libz.so.1 (0x00007f93cb569000)
libc.so.6 => /lib64/libc.so.6 (0x00007f93cb1c1000)
/lib64/ld-linux-x86-64.so.2 (0x00007f93cc07a000)
/usr/local/sslTEST/lib64/libssl.so.1.0.0:
linux-vdso.so.1 (0x00007ffd01636000)
!! libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0 (0x00007ff4abf33000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff4abd2f000)
libz.so.1 => /lib64/libz.so.1 (0x00007ff4abb18000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff4ab771000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff4ac60d000)
/usr/local/sslTEST/lib64/libcrypto.so.1.0.0:
linux-vdso.so.1 (0x00007ffe1f55d000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9a10f46000)
libz.so.1 => /lib64/libz.so.1 (0x00007f9a10d30000)
libc.so.6 => /lib64/libc.so.6 (0x00007f9a10988000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9a115d5000)
where you can see the different libcrypto's are linked.
Wht specific combination and settings of FLAGS are required to ensure that the bins & libs are all self-consistently linked/rpath'd only against this build's libs?
More information about the openssl-users
mailing list