Follow-up Comment #5, sr #108201 (project libtool): Here is my feable and first attempt to detect the problem using the testsuite.
First, the test export.at seems to work by default, but it is only a gcc (simple 'C') test: richard@devzone:~/src/libtool$ gmake check-local TESTSUITEFLAGS="45 -d" cd ./tests && autom4te --language=autotest `echo tests/testsuite.at tests/getopt-m4sh.at tests/libtoolize.at tests/help.at tests/duplicate_members.at tests/duplicate_conv.at tests/duplicate_deps.at tests/flags.at tests/inherited_flags.at tests/convenience.at tests/link-order.at tests/link-order2.at tests/fail.at tests/shlibpath.at tests/runpath-in-lalib.at tests/static.at tests/export.at tests/search-path.at tests/indirect_deps.at tests/archive-in-archive.at tests/exeext.at tests/execute-mode.at tests/bindir.at tests/cwrapper.at tests/deplib-in-subdir.at tests/infer-tag.at tests/localization.at tests/nocase.at tests/install.at tests/versioning.at tests/destdir.at tests/old-m4-iface.at tests/am-subdir.at tests/lt_dlexit.at tests/lt_dladvise.at tests/lt_dlopen.at tests/lt_dlopen_a.at tests/lt_dlopenext.at tests/ltdl-libdir.at tests/ltdl-api.at tests/dlloader-api.at tests/loadlibrary.at tests/lalib-syntax.at tests/resident.at tests/slist.at tests/need_lib_prefix.at tests/standalone.at tests/subproject.at tests/nonrecursive.at tests/recursive.at tests/template.at tests/ctor.at tests/exceptions.at tests/early-libtool.at tests/with-pic.at tests/no-executables.at tests/deplibs-ident.at tests/configure-iface.at tests/stresstest.at tests/cmdline_wrap.at tests/pic_flag.at tests/darwin.at tests/dumpbin-symbols.at tests/deplibs-mingw.at tests/sysroot.at | sed 's,tests/,,g'` -o testsuite.tmp && mv -f testsuite.tmp testsuite abs_srcdir=`CDPATH="${ZSH_VERSION+.}:" && cd . && pwd`; cd tests; CONFIG_SHELL="/bin/sh" /bin/sh $abs_srcdir/tests/testsuite MAKE="gmake" CC="gcc" CFLAGS="-g -O2" CPP="gcc -E" CPPFLAGS="" LD="/usr/bin/ld -64" LDFLAGS="" LIBS="" LN_S="ln -s" NM="/opt/pkg/gnu/bin/nm -B" RANLIB="ranlib" AR="ar" M4SH="autom4te --language=m4sh" SED="/opt/pkg/bin/gsed" STRIP="strip" lt_INSTALL="/opt/pkg/bin/ginstall -c" MANIFEST_TOOL=":" OBJEXT="o" EXEEXT="" SHELL="/bin/sh" CONFIG_SHELL="/bin/sh" CXX="g++" CXXFLAGS="-g -O2" CXXCPP="g++ -E" F77="gfortran" FFLAGS="-g -O2" FC="gfortran" FCFLAGS="-g -O2" GCJ="" GCJFLAGS="-g -O2" lt_cv_to_host_file_cmd="func_convert_file_noop" lt_cv_to_tool_file_cmd="func_convert_file_noop" _lt_pkgdatadir="/home/richard/src/libtool" LIBTOOLIZE="/home/richard/src/libtool/libtoolize" LIBTOOL="/home/richard/src/libtool/libtool" tst_aclocaldir="/home/richard/src/libtool/libltdl/m4" 45 -d ## ----------------------------- ## ## GNU Libtool 2.4.2 test suite. ## ## ----------------------------- ## 45: Export test ok ## ------------- ## ## Test results. ## ## ------------- ## 1 test was successful. I updated this test as follows (unsure about this test on other than an elf-based platform): richard@devzone:~/src/libtool$ git diff tests/export.at diff --git a/tests/export.at b/tests/export.at index 39adfbc..1f59fa5 100644 --- a/tests/export.at +++ b/tests/export.at @@ -35,7 +35,7 @@ AT_CHECK([eval `$LIBTOOL --config | sed -n '/^archive_expsym_cmds=/,/^$/p'` can_hide=: test -s can-hide && can_hide=false -LDFLAGS="$LDFLAGS -no-undefined" +#LDFLAGS="$LDFLAGS -no-undefined" libdir=`pwd`/inst/lib mkdir inst inst/lib @@ -170,6 +170,7 @@ do # case 1: shared library built from object. LT_AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir' $exportsyms], [], [ignore], [ignore]) + AT_CHECK([elfdump -d .libs/liba.so | grep "SONAME"],[], [ignore], [ignore]) AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la], [], [ignore], [ignore]) LT_AT_EXEC_CHECK([./main]) I can manually run this for C++ as follows: richard@devzone:~/src/libtool$ gmake CC=g++ check-local TESTSUITEFLAGS="45 -d" abs_srcdir=`CDPATH="${ZSH_VERSION+.}:" && cd . && pwd`; cd tests; CONFIG_SHELL="/bin/sh" /bin/sh $abs_srcdir/tests/testsuite MAKE="gmake" CC="g++" CFLAGS="-g -O2" CPP="gcc -E" CPPFLAGS="" LD="/usr/bin/ld -64" LDFLAGS="" LIBS="" LN_S="ln -s" NM="/opt/pkg/gnu/bin/nm -B" RANLIB="ranlib" AR="ar" M4SH="autom4te --language=m4sh" SED="/opt/pkg/bin/gsed" STRIP="strip" lt_INSTALL="/opt/pkg/bin/ginstall -c" MANIFEST_TOOL=":" OBJEXT="o" EXEEXT="" SHELL="/bin/sh" CONFIG_SHELL="/bin/sh" CXX="g++" CXXFLAGS="-g -O2" CXXCPP="g++ -E" F77="gfortran" FFLAGS="-g -O2" FC="gfortran" FCFLAGS="-g -O2" GCJ="" GCJFLAGS="-g -O2" lt_cv_to_host_file_cmd="func_convert_file_noop" lt_cv_to_tool_file_cmd="func_convert_file_noop" _lt_pkgdatadir="/home/richard/src/libtool" LIBTOOLIZE="/home/richard/src/libtool/libtoolize" LIBTOOL="/home/richard/src/libtool/libtool" tst_aclocaldir="/home/richard/src/libtool/libltdl/m4" 45 -d ## ----------------------------- ## ## GNU Libtool 2.4.2 test suite. ## ## ----------------------------- ## 45: Export test FAILED (export.at:173) ## ------------- ## ## Test results. ## ## ------------- ## ERROR: 1 test was run, 1 failed unexpectedly. ## -------------------------- ## ## testsuite.log was created. ## ## -------------------------- ## Please send per-test log files and all information you think might help: To: <bug-libt...@gnu.org> Subject: [GNU Libtool 2.4.2] testsuite: 45 failed You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may be found below `tests/testsuite.dir'. gmake: *** [check-local] Error 1 I'll append the testsuite.log to show the absence of SONAME. I guess I don't know enough about libtools testsuite system to get this invoked with the CXX tests... (file #27081) _______________________________________________________ Additional Item Attachment: File name: testsuite.log Size:7 KB _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/support/?108201> _______________________________________________ Message posté via/par Savannah http://savannah.gnu.org/ _______________________________________________ https://lists.gnu.org/mailman/listinfo/libtool