According to brad:
> 
> the problem i am having is when trying to use these shared libs with other
> applications.  in particular, Trf 1.7, which is a Tcl extention.

i just solved my particular problem with libcrypto.so and solaris 7 x86
compiled with gcc 2.7.2.3.  took me a while to find the offending symbol,
_umoddi3.  turns out it is a libgcc internal.  fixed it by adding -lgcc 
to the build of the shared libs.  Makefile rule is below.

-brad


solaris-shared:
  for i in ${SHLIBDIRS}; do \
  rm -f lib$$i.a lib$$i.so \
    lib$$i.so.${MAJOR} lib$$i.so.${MAJOR}.${MINOR}; \
  ${MAKE} CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='-fPIC ${CFLAG}' SDIRS='${SDIR
S}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_AS
M='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4
_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OB
J='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' DIRS=$$i clean
all || exit 1; \
  ( set -x; ${CC}  -shared -o lib$$i.so.${MAJOR}.${MINOR} \
    -Wl,-zallextract lib$$i.a \
    -Wl,-zdefaultextract -lgcc -lc ) || exit 1; \
  rm -f lib$$i.a; make -C $$i clean || exit 1 ;\
  done;
  @set -x; \
  for i in ${SHLIBDIRS}; do \
  ln -s lib$$i.so.${MAJOR}.${MINOR} lib$$i.so.${MAJOR}; \
  ln -s lib$$i.so.${MAJOR} lib$$i.so; \
  done;
 



> ==== md2-4.1-8.x md2, immediate
> ==== Contents of test case:
> 
>             hex -m e [md2 $in]
>         
> ==== Test generated error:
> cannot open libcrypto.so: ld.so.1: ./tclsh: fatal: relocation error: file 
>/usr/local/ssl/lib/libcrypto.so: symbol __umoddi3: referenced symbol not found
> 




-- 
Brad Burdick - UUcom Inc.
Email: [EMAIL PROTECTED] | Voice: 703.461.1350 | Fax: 703.461.1360

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to