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]