Please note that shared library support is experimental, and it's the
correct behavior for the openssl application to get linked against the
static version of the libraries.
This has changed in 0.9.7, so if you really want to start playing with
shared libraries, I'd be much happier if you looked there. With 0.9.7,
the openssl application as well as the test programs are linked with
the shared libraries of shared support was requested when configuring.
0.9.7 is still in beta, but we're working on getting it release ready
(there will be another beta, I'm sure)...
I'm considering my answer above to be enough to resolve this ticket.
[[EMAIL PROTECTED] - Sun Sep 29 22:41:40 2002]:
>
> Bug description:
>
> Make and make test succeed, but the test programs are linked against
> the static libraries, never against the shared libraries, so if
> there is a problem with the shared libraries (and there is in my
> system, all applications linked against them core dump) it's not
> detected.
>
> The problem is probably not with the openssl shared libraries but they
> fail to work when used. I haven't found where exactly is the
> problem, but for reference here's the complete information.
>
> make report returns:
>
> OpenSSL self-test report:
>
> OpenSSL version: 0.9.6h-dev
> Last change: Don't impose a 16-byte length minimum on session IDs
> in...
> Options: --prefix=/usr/local/ssl threads shared no-asm
> OS (uname): SunOS legosoft 5.8 Generic_108528-14 sun4m sparc
> SUNW,SPARCstation-5
> OS (config): sun4m-whatever-solaris2
> Target (default): solaris-sparcv8-gcc
> Target: solaris-sparcv8-gcc
> Compiler: Configured with: ../gcc-3.2/configure
> --prefix=/opt/gnu --with-gnu-as --with-gnu-ld --disable-multilib
> --enable-threads --enable-languages=c,c++,objc,java --enable-libgcj
> --disable-nls
> Thread model: posix
> gcc version 3.2
>
> Test passed.
>
> Note: This is the last recompile I did, I started with version 0.9.6g,
> then downloaded the last snapshot and tried again, then disabled
> use of assembler, then disabled optimization. Also tested the
> recommendation from bug report #29: re-linked without the
> -Wl,-Bsymbolic parameter, same result.
>
> To test the shared libraries I took a small program (adapted and
> corrected from the configure script of openSsh):
>
> #include <string.h>
> #include <openssl/crypto.h>
>
> int main(void) { return(SSLeay() == OPENSSL_VERSION_NUMBER ? 0 : 1); }
>
> And compiled with:
>
> gcc -o test -pipe -g -Wall -Wpointer-arith -Wno-uninitialized
> -I../include -L.. -R.. test.c -lpam -ldl -lz -lsocket -lnsl
> -lcrypto
>
> Running it, in all tested variations, results in "Segmentation Fault
> (core dumped)"
>
> The stack traceback is:
>
> GNU gdb 5.0
> [snip]
> This GDB was configured as "sparc-sun-solaris2.8"...
> (gdb) r
> Starting program: /home/rberber/openssl-0.9.6-stable-SNAP-
> 20020925/test/test
>
> Program received signal SIGSEGV, Segmentation fault.
> 0xef4a6224 in __register_frame_info_bases (begin=0xef4c0000,
> ob=0xef4c0000,
> tbase=0x0, dbase=0x0) at ../../gcc-3.0.3/gcc/unwind-pe.h:211
> 211 ../../gcc-3.0.3/gcc/unwind-pe.h: No such file or directory.
> (gdb) where
> #0 0xef4a6224 in __register_frame_info_bases (begin=0xef4c0000,
> ob=0xef4c0000, tbase=0x0, dbase=0x0) at ../../gcc-
> 3.0.3/gcc/unwind-pe.h:211
> #1 0xef4a62a0 in __register_frame_info (begin=0xef4c0000,
> ob=0xef4c0000)
> at ../../gcc-3.0.3/gcc/unwind-pe.h:211
> #2 0xef4e3f18 in frame_dummy ()
> from /home/rberber/openssl-0.9.6-stable-SNAP-
> 20020925/test/../libcrypto.so.0.9.6
> #3 0xef4e3e00 in _init ()
> from /home/rberber/openssl-0.9.6-stable-SNAP-
> 20020925/test/../libcrypto.so.0.9.6
> #4 0xef7cc1ec in ?? ()
> #5 0xef7cbae4 in ?? ()
> #6 0xef7d6fdc in ?? ()
> #7 0xef7c2a50 in ?? ()
>
> I think only #2 abd #3 are significant, gdb is reporting bogus
> information which include a path with gcc-3.0.3 which never has
> existed on this machine. Perhaps all the information is bogus
> since I haven't been able to put a breakpoint at the _init() or
> frame_dummy() routines, one is not found, the later is in another
> library not libcrypto.
--
Richard Levitte
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]