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)


Attachment: signature.asc
Description: PGP signature

_______________________________________________
Bug-libtool mailing list
Bug-libtool@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-libtool

Reply via email to