Related info from testlog file (<home dir> is used instead of the full path):
----------------------------------------------------------------------
Options: --openssldir=<home dir>/openssl enable-threads -D_REENTRANT
enable-shared no-gmp no-krb5 no-mdc2 no-rc5 no-zlib no-zlib-dynamic
OS (uname): AIX chi-ibm02 2 5 00CBD8CF4C00
OS (config): 00CBD8CF4C00-ibm-aix
Target (default): aix-cc
Target: aix-cc
Compiler: /usr/bin/pg /usr/vac/exe/default_msg/vac.help
C for AIX Compiler, Version 6
Usage:
xlc [ option | inputfile ]...
cc [ option | inputfile ]...
c89 [ option | inputfile ]...
xlc128 [ option | inputfile ]...
cc128 [ option | inputfile ]...
xlc_r [ option | inputfile ]...
cc_r [ option | inputfile ]...
xlc_r4 [ option | inputfile ]...
cc_r4 [ option | inputfile ]...
xlc_r7 [ option | inputfile ]...
cc_r7 [ option | inputfile ]...
-------------------------------------------------------------------------------------------------
Output from "openssl version -a":
-------------------------------------------------------------------------------------------------
OpenSSL 0.9.8a 11 Oct 2005
built on: Fri Nov 4 11:05:47 CST 2005
platform: aix-cc
options: bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,4,long) idea(int)
blowfish(idx)
compiler: cc -DOPENSSL_THREADS -qthreaded -DDSO_DLFCN -DHAVE_DLFCN_H
-D_REENTRANT -q32 -O -DB_ENDIAN -qmaxmem=16384
OPENSSLDIR: "<home dir>/openssl"
------------------------------------------------------------------------------------------------
Problem description: When I install OpenSSL-0.9.8/0.9.8a on AIX with shared
libraries,
after command "make" it builds but produces a number of error messages like:
-------------------------------------------------------------------------------------------------
exec(): 0509-036 Cannot load program <home
dir>/openssl-0.9.8a/util/../apps/openssl because of the following errors:
0509-150 Dependent module libc.a(shr.o) could not be loaded.
0509-022 Cannot load module libc.a(shr.o).
0509-026 System error: A file or directory in the path name does not
exist.
-------------------------------------------------------------------------------------------------
The next command "make test" actually fails with similar error messages.
If I ignore this and call "make install", it installs properly but when I try
to run
openssl executable, it again fails to load with the same error message. In fact,
when I link another application with shared libraries libcrypto.so.0.9.8 &
libssl.so.0.9.8,
they load successfully. The problem doesn't exist in previous major release,
at least OpenSSL-0.9.7b, and even in OpenSSL-0.9.8/0.9.8a if it is built
without shared libraries.
It can be helped by explicitly adding the path for libc.a, e.g.
env LIBPATH=/usr/lib <required command>
but it doesn't seem to be a good permanent solution.
When I examined the explicit paths contained in the binaries, using "dump -H
...",
for openssl executable, it gives:
-------------------------------------------------------------------------------------------------
***Import File Strings***
INDEX PATH BASE MEMBER
0 <home dir>/openssl/lib
1 libc.a shr.o
-------------------------------------------------------------------------------------------------
i.e. openssl contains only the path for just installed version and not any
system path.
Shared libraries contain the correct system path, e.g. for libssl.so:
-------------------------------------------------------------------------------------------------
***Import File Strings***
INDEX PATH BASE MEMBER
0 .:/usr/lpp/xlopt:/usr/lib:/lib
1 libcrypto.so
2 libc.a shr.o
--------------------------------------------------------------------------------------------------
As already mentioned, the path seems to be correct in OpenSSL-0.9.7b or in
OpenSSL-0.9.8/0.9.8a built without shared libraries. In the build log, produced
by
"make" under the conditions of this bug, we can see the repeated line:
------------------------------------------------------------------------------------------------
LDFLAGS="-DOPENSSL_THREADS -qthreaded -DDSO_DLFCN -DHAVE_DLFCN_H -D_REENTRANT
-q32 -O -DB_ENDIAN -qmaxmem=16384 -blibpath:<home dir>/openssl/lib"; \
------------------------------------------------------------------------------------------------
Because of the results, it is clear that "-blibpath:...", suppressing system
paths, somehow
applied only to openssl executable but not shared libraries. Therefore, it
looks necessary
to fix the configuration file(s)/script(s) so that this flag would not appear
with the home path
and wouldn't suppress system paths for openssl executable as well.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]