When testing libtool-2.5.0, I got one test failure in test 170
(bug_62343.at for -no-canonical-prefixes):
# -*- compilation -*-
170. bug_62343.at:26: testing Use -no-canonical-prefixes flag ...
./bug_62343.at:28: $LIBTOOL --config | $EGREP '^build_libtool_libs=no'
&& (exit 77)
./bug_62343.at:36: $LIBTOOL --mode=compile --tag=CXX g++ -c x.cpp
stderr:
stdout:
libtool: compile: g++ -c x.cpp -fPIC -DPIC -o .libs/x.o
libtool: compile: g++ -c x.cpp -o x.o
./bug_62343.at:38: $LIBTOOL --mode=link --tag=CXX g++ -o libx.la
-no-canonical-prefixes -rpath /usr/lib64/ x.lo
stderr:
g++: fatal error: '-fuse-linker-plugin', but liblto_plugin.so not found
compilation terminated.
stdout:
libtool: link: g++ -fPIC -DPIC -shared -nostdlib
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../lib64/crti.o
/usr/lib/gcc/x86_64-pc-linux-gnu/15/crtbeginS.o .libs/x.o
-L/usr/lib/gcc/x86_64-pc-linux-gnu/15
-L/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../lib64
-L/lib/../lib64 -L/usr/lib/../lib64
-L/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/15/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../lib64/crtn.o -no-canonical-prefixes -Wl,-soname -Wl,libx.so.0 -o .libs/libx.so.0.0.0
./bug_62343.at:38: exit code was 1, expected 0
170. bug_62343.at:26: 170. Use -no-canonical-prefixes flag
(bug_62343.at:26): FAILED (bug_62343.at:38)
Any idea how to further probe what's going on? I'm not sure why it's
even trying to use a linker plugin.
If I run manually, I do get the same error at least:
$ g++ -o libx.la -no-canonical-prefixes x.lo
g++: fatal error: ‘-fuse-linker-plugin’, but liblto_plugin.so not found
compilation terminated.
I'm also confused as I *do* have the plugin at
/usr/libexec/gcc/x86_64-pc-linux-gnu/15/liblto_plugin.so and it works
normally in other cases.
If I drop -no-canonical-prefixes, it works fine. (Caveat: I've not
looked up what the flag actually does.)
thanks,
sam