Hi, Perhaps it's the desired behavior, but I get a failure on test 55 when using -Wl,--as-needed in LDFLAGS (and its ok if I remove it). From my poor understanding of template.at, the test is run for the case when libb does not depend on liba and when linking the main program against both libb and liba, liba gets dropped but libb needs it, thus the linking failure. Anyway, I thought it was worth reporting it.
(log below) Regards, Alexis. # -*- compilation -*- 55. template.at:126: testing ... ./template.at:127: { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) ./template.at:127: test "X$CXX" != Xg++ || (g++ -v >/dev/null 2>&1) || (exit 77) ./template.at:220: $CXX $CPPFLAGS $CXXFLAGS -c -o $main_o ../src/sub/main.cpp stderr: stdout: ./template.at:230: $LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib/a.lo ../src/lib/a.cpp stderr: stdout: libtool: compile: x86_64-pc-linux-gnu-g++ -I../src/lib -I../src/lib2 -march=athlon64 -O2 -pipe -g -ggdb -c ../src/lib/a.cpp -fPIC -DPIC -o lib/.libs/a.o libtool: compile: x86_64-pc-linux-gnu-g++ -I../src/lib -I../src/lib2 -march=athlon64 -O2 -pipe -g -ggdb -c ../src/lib/a.cpp -o lib/a.o >/dev/null 2>&1 ./template.at:232: $LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib2/b.lo ../src/lib2/b.cpp stderr: stdout: libtool: compile: x86_64-pc-linux-gnu-g++ -I../src/lib -I../src/lib2 -march=athlon64 -O2 -pipe -g -ggdb -c ../src/lib2/b.cpp -fPIC -DPIC -o lib2/.libs/b.o libtool: compile: x86_64-pc-linux-gnu-g++ -I../src/lib -I../src/lib2 -march=athlon64 -O2 -pipe -g -ggdb -c ../src/lib2/b.cpp -o lib2/b.o >/dev/null 2>&1 ./template.at:234: $CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp stderr: stdout: ./template.at:237: $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo stderr: stdout: libtool: link: x86_64-pc-linux-gnu-ar cru lib/.libs/liba.a lib/.libs/a.o libtool: link: x86_64-pc-linux-gnu-ranlib lib/.libs/liba.a libtool: link: ( cd "lib/.libs" && rm -f "liba.la" && ln -s "../liba.la" "liba.la" ) ./template.at:239: $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo stderr: stdout: libtool: link: x86_64-pc-linux-gnu-ar cru lib2/.libs/libb.a lib2/.libs/b.o libtool: link: x86_64-pc-linux-gnu-ranlib lib2/.libs/libb.a libtool: link: ( cd "lib2/.libs" && rm -f "libb.la" && ln -s "../libb.la" "libb.la" ) ./template.at:241: $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main $main_o lib2/libb.la lib/liba.la stderr: stdout: libtool: link: x86_64-pc-linux-gnu-g++ -march=athlon64 -O2 -pipe -g -ggdb -Wl,--as-needed -o sub/main sub/main.o lib2/.libs/libb.a lib/.libs/liba.a ./template.at:243: ./sub/main; lt_status=$?; if test $lt_status -eq 0; then :; elif test "X$host" != "X$build" && \ { test -x "./sub/main" || test -x "./sub/main"$EXEEXT; } then (exit 77); else (exit $lt_status); fi ./template.at:246: $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /foo stderr: stdout: libtool: link: rm -fr lib2/.libs/libb.a lib2/.libs/libb.la libtool: link: x86_64-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/crtbeginS.o lib2/.libs/b.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../../../lib64/crtn.o -march=athlon64 -Wl,--as-needed -Wl,-soname -Wl,libb.so.0 -o lib2/.libs/libb.so.0.0.0 libtool: link: (cd "lib2/.libs" && rm -f "libb.so.0" && ln -s "libb.so.0.0.0" "libb.so.0") libtool: link: (cd "lib2/.libs" && rm -f "libb.so" && ln -s "libb.so.0.0.0" "libb.so") libtool: link: x86_64-pc-linux-gnu-ar cru lib2/.libs/libb.a lib2/b.o libtool: link: x86_64-pc-linux-gnu-ranlib lib2/.libs/libb.a libtool: link: ( cd "lib2/.libs" && rm -f "libb.la" && ln -s "../libb.la" "libb.la" ) ./template.at:248: $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main $main_o lib2/libb.la lib/liba.la stderr: stdout: libtool: link: x86_64-pc-linux-gnu-g++ -march=athlon64 -O2 -pipe -g -ggdb -Wl,--as-needed -o sub/.libs/main sub/main.o lib2/.libs/libb.so lib/.libs/liba.a -Wl,-rpath -Wl,/foo ./template.at:250: ./sub/main; lt_status=$?; if test $lt_status -eq 0; then :; elif test "X$host" != "X$build" && \ { test -x "./sub/main" || test -x "./sub/main"$EXEEXT; } then (exit 77); else (exit $lt_status); fi ./template.at:254: $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo -rpath /foo stderr: stdout: libtool: link: rm -fr lib/.libs/liba.a lib/.libs/liba.la libtool: link: x86_64-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/crtbeginS.o lib/.libs/a.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../../../lib64/crtn.o -march=athlon64 -Wl,--as-needed -Wl,-soname -Wl,liba.so.0 -o lib/.libs/liba.so.0.0.0 libtool: link: (cd "lib/.libs" && rm -f "liba.so.0" && ln -s "liba.so.0.0.0" "liba.so.0") libtool: link: (cd "lib/.libs" && rm -f "liba.so" && ln -s "liba.so.0.0.0" "liba.so") libtool: link: x86_64-pc-linux-gnu-ar cru lib/.libs/liba.a lib/a.o libtool: link: x86_64-pc-linux-gnu-ranlib lib/.libs/liba.a libtool: link: ( cd "lib/.libs" && rm -f "liba.la" && ln -s "../liba.la" "liba.la" ) ./template.at:256: $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /bar stderr: stdout: libtool: link: rm -fr lib2/.libs/libb.a lib2/.libs/libb.la lib2/.libs/libb.lai lib2/.libs/libb.so lib2/.libs/libb.so.0 lib2/.libs/libb.so.0.0.0 libtool: link: x86_64-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/crtbeginS.o lib2/.libs/b.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../../../lib64/crtn.o -march=athlon64 -Wl,--as-needed -Wl,-soname -Wl,libb.so.0 -o lib2/.libs/libb.so.0.0.0 libtool: link: (cd "lib2/.libs" && rm -f "libb.so.0" && ln -s "libb.so.0.0.0" "libb.so.0") libtool: link: (cd "lib2/.libs" && rm -f "libb.so" && ln -s "libb.so.0.0.0" "libb.so") libtool: link: x86_64-pc-linux-gnu-ar cru lib2/.libs/libb.a lib2/b.o libtool: link: x86_64-pc-linux-gnu-ranlib lib2/.libs/libb.a libtool: link: ( cd "lib2/.libs" && rm -f "libb.la" && ln -s "../libb.la" "libb.la" ) ./template.at:258: $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main $main_o lib2/libb.la lib/liba.la stderr: lib2/.libs/libb.so: undefined reference to `a2(char)' collect2: ld returned 1 exit status stdout: libtool: link: x86_64-pc-linux-gnu-g++ -march=athlon64 -O2 -pipe -g -ggdb -Wl,--as-needed -o sub/.libs/main sub/main.o lib2/.libs/libb.so lib/.libs/liba.so -Wl,-rpath -Wl,/bar -Wl,-rpath -Wl,/foo ./template.at:258: exit code was 1, expected 0 55. template.at:126: 55. template test with subdirs (template.at:126): FAILED (template.at:258)
signature.asc
Description: PGP signature
_______________________________________________ Bug-libtool mailing list Bug-libtool@gnu.org http://lists.gnu.org/mailman/listinfo/bug-libtool