Let me keep this issue alive and kicking. Libtool is still broken on HP-UX ia64. But with this change it works. I just don't know enough about libtool to suggest where libtool would need to be modified in order to make this a proper fix.
> 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. Does anyone know where the right place is to add the -L option suggested here into libtool so that it works on HP-UX ia64? Thanks Bob Bob Proulx wrote: > 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 > _______________________________________________ Bug-libtool mailing list Bug-libtool@gnu.org http://lists.gnu.org/mailman/listinfo/bug-libtool