Ruby uses the linker (ld) directly. Default behaviour on Tru64 is to prefer shared libs before static libs. Using -oldstyle_liblookup reverses this behaviour.
This is similar to the GCC fix, which causes a link with 'gcc -o xxx' to call the ld linker with this flag. $ diff -u configure~ configure --- configure~ 2005-03-17 12:07:34 +0100 +++ configure 2005-03-17 12:08:44 +0100 @@ -13991,7 +13991,7 @@ rb_cv_dlopen=yes ;; esix*|uxpds*) : ${LDSHARED="ld -G"} rb_cv_dlopen=yes ;; - osf*) : ${LDSHARED="ld -shared -expect_unresolved \"*\""} + osf*) : ${LDSHARED="ld -shared -expect_unresolved \"*\" -oldstyle_liblookup"} rb_cv_dlopen=yes ;; bsdi3*) case "$CC" in *shlicc*) : ${LDSHARED="$CC -r"} With this patch and an installed OpenPKG libiconv rpm, the Ruby iconv extension now rightly links to the OpenPKG lib: /openpkg/RPM/TMP/ruby-1.8.2/ext/iconv $ ldd iconv.so Main => iconv.so libm.so => /usr/shlib/libm.so libc.so => /usr/shlib/libc.so ^^ no more system libiconv.so dependency. ______________________________________________________________________ The OpenPKG Project www.openpkg.org Developer Communication List openpkg-dev@openpkg.org