When compiling a dynamic 64-bit library on Solaris (via
./Configure solaris64-sparcv9-cc shared), the -xarch=v9 compiler
flag gets dropped when linking the shared libraries.  The
resulting libraries are thus 32 bit, and lacking the
lib{ssl,crypto}.a contents (which are 64 bit and thus ignored
by the compiler).  (And the resulting libraries are thus, of course,
non-functional.)

This seems to be because the do_solaris-shared target in the
Makefile sets up its own set of command line flags to the compiler
and doesn't incorporate CFLAG.  Adding CFLAG to the command line
there seems to work fine.

Old:

    set -x; ${CC}  -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \

New:

    set -x; ${CC} ${CFLAG} -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \

Environment:

OS:  Solaris 8
Compiler:  Sun WorkShop 6 update 1 Compiler C

Error message:

cc -G -o libssl.so.0.9.6 -h libssl.so.0.9.6 -z allextract libssl.a -L.  -lcrypto 
-lsocket -lnsl -ldl -lc
ld: warning: file libssl.a(s2_meth.o): wrong ELF class: ELFCLASS64
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to