A while ago I raised an issue trying to build coreutils on HP-UX ia64. http://lists.gnu.org/archive/html/bug-gnu-utils/2006-08/msg00083.html
Things are still not working there and so I thought I would heat up the issue a little bit. I had some time to dig into this and here is what I have found. I can continue but I know nothing about libtool and would need some guidance. I just tested the latest gettext-1.16.1 on HP-UX 11.23 ia64 and it still fails in exactly the same way as previously reported. I am using the native HP ANSI C compiler. (Getting coreutils up is really the first step in what will undoubtedly be a long bootstrap process.) Let me walk through from top to bottom. I propose a fix at the end. The problematic command seems to be the following, run from the gettext-tools/libuniname directory: /bin/sh ../libtool --tag=CC --mode=link cc -g -o test-names test-names.o libuniname.a ../gnulib-lib/libgettextlib.la ld: Can't find dependent library "libintl.so.8" The part of the libtool script that causes this is on 5177 of the script generated for me. Hopefully this is enough context to identify the pertinent portion of the script. fi fi # Replace the output file specification. link_command=`$echo "X$link_command" | $Xsed -e '[EMAIL PROTECTED]@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname $show "$link_command" $run eval "$link_command" || exit $? # Now create the wrapper script. $show "creating $output" # Quote the relink command for shipping. The command run is: cc -g -o .libs/test-names test-names.o libuniname.a ../gnulib-lib/.libs/libgettextlib.so /usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/intl/.libs/libintl.so -lc -Wl,+b -Wl,/usr/local/build/coreutils/lib ld: Can't find dependent library "libintl.so.8" Fatal error. But the files all look okay. ls -ld /usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/intl/.libs/libintl.so lrwxrwxr-x 1 rwp rwp 14 Dec 30 16:52 /usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/intl/.libs/libintl.so -> libintl.so.8.1 ls -ld /usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/intl/.libs/libintl.so.8.1 -rwxrwxr-x 1 rwp rwp 217744 Dec 30 16:52 /usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/intl/.libs/libintl.so.8.1 ls -ld -L /usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/intl/.libs/libintl.so -rwxrwxr-x 1 rwp rwp 217744 Dec 30 16:52 /usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/intl/.libs/libintl.so find .. -name 'libintl.so*' -print ../intl/.libs/libintl.so.8.1 ../intl/.libs/libintl.so.8 ../intl/.libs/libintl.so This step succeeds on HP-UX 11.23 hppa. But the generated libtool scripts are so different between hppa and ia64 as to be almost unrelated making comparisons between them impractical. However the hppa link command that succeeds on that platform is: cc -g -o .libs/test-names test-names.o libuniname.a ../gnulib-lib/.libs/libgettextlib.sl /usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/intl/.libs/libintl.sl -lc -Wl,+b -Wl,/usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/gnulib-lib/.libs:/usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/intl/.libs:/usr/local/build/coreutils/lib Note the additional paths in the -Wl option. Trying that same thing fails: cc -g -o .libs/test-names test-names.o libuniname.a ../gnulib-lib/.libs/libgettextlib.so /usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/intl/.libs/libintl.so -lc -Wl,+b -Wl,/usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/gnulib-lib/.libs:/usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/intl/.libs:/usr/local/build/coreutils/lib ld: Can't find dependent library "libintl.so.8" Fatal error. However adding -L ../intl/.libs to the original failing command works. Let me repeat the original failing command on ia64 so that they are close together in this message. cc -g -o .libs/test-names test-names.o libuniname.a ../gnulib-lib/.libs/libgettextlib.so /usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/intl/.libs/libintl.so -lc -Wl,+b -Wl,/usr/local/build/coreutils/lib ld: Can't find dependent library "libintl.so.8" Fatal error. Adding -L ../intl/.libs allows this to succeed. This following command successfully links the test-names program. cc -g -o .libs/test-names test-names.o libuniname.a -L ../intl/.libs ../gnulib-lib/.libs/libgettextlib.so /usr/local/build/coreutils/src/gettext-0.16.1/gettext-tools/intl/.libs/libintl.so -lc -Wl,+b -Wl,/usr/local/build/coreutils/lib Adding a -L path option seems to be required here. Here is what (I think) are the interesting parts of chatr on the result. This all appears to be as desired as far as I can tell. shared library dynamic path search: LD_LIBRARY_PATH enabled first SHLIB_PATH enabled second embedded path enabled third /usr/local/build/coreutils/lib shared library list: libgettextlib-0.16.1.so libintl.so.8 libc.so.1 Hopefully this helps to clarify the problem. Thanks Bob _______________________________________________ Bug-libtool mailing list Bug-libtool@gnu.org http://lists.gnu.org/mailman/listinfo/bug-libtool