bug-libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libtool 2.2] testsuite: 55 failed with as-needed


From: Alexis Ballier
Subject: [libtool 2.2] testsuite: 55 failed with as-needed
Date: Sat, 8 Mar 2008 14:50:09 +0100

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]