Subject: Test 170 fails

From: Sam James <[email-masked]>
Date: Thu, 16 May 2024 02:09:24 +0100

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