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 [email protected] http://lists.gnu.org/mailman/listinfo/bug-libtool
