Hi, I have faced a well-known issue with building and linking a package which hasn't had 'libtool' files updated for a long long time When linking, an error occurred (provided at the end of the comment) So, the issue is that libtool, when linking, throws away the flag '-flto', which apparently does not know because 'libtool' generated by autoreconf + ./configure somewhen has become ancient and obsolete So it brings up troubles with new features of compilers like 'flto'. I think it is time we updated libtool-related files in m4/* Nowadays, sys-devel/libtool-2.4.6-r3 is stable and persistent, I would suggest we use this 'libtool' version and its 'libtoolize' for generating these files in m4/* directory So, the solution is (from the root of the project): 1) rm -rf m4/* 2) autoreconf --install So, it will bring fresh files and update m4/libtool.m4 and it will allow ./configure to generate a correct new 'libtool' that is used when linking I am sorry for long clarifications and explanations, but I think it is time we did it, I rely on your understanding. Because of this issue I cannot build a plenty of projects Thank you Here the log is: /bin/sh ../libtool --tag=CC --mode=link clang -m32 -O2 -pipe -march=native -mtune=generic -flto -std=gnu11 -pipe -Wall -W -Wextra -pedantic -Wformat -Wold-style-definition -Wdeclaration-aft er-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wbad-function-cast -Wcas t-qual -Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter -Wstrict-aliasing -version-info 5:0:5 -Wl,--no-undefined -flto -fuse-ld=gold -o libdaemon.la -rpath /usr/lib32 dlog.lo dfork.l o dsignal.lo dnonblock.lo dpid.lo dexec.lo libtool: link: clang -m32 -shared .libs/dlog.o .libs/dfork.o .libs/dsignal.o .libs/dnonblock.o .libs/dpid.o .libs/dexec.o -m32 -march=native -mtune=generic -Wl,--no-undefined -Wl,-soname -Wl,libdaemon.so.0 -o .libs/libdaemon.so.0.5.0 /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dlog.o:1:3: invalid character /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dlog.o:1:3: syntax error, unexpected $end /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dlog.o: not an object or archive /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dfork.o:1:3: invalid character /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dfork.o:1:3: syntax error, unexpected $end /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dfork.o: not an object or archive /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dsignal.o:1:3: invalid character /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dsignal.o:1:3: syntax error, unexpected $end /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dsignal.o: not an object or archive /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dnonblock.o:1:3: invalid character /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dnonblock.o:1:3: syntax error, unexpected $end /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dnonblock.o: not an object or archive /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dpid.o:1:3: invalid character /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dpid.o:1:3: syntax error, unexpected $end /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dpid.o: not an object or archive /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dexec.o:1:3: invalid character /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dexec.o:1:3: syntax error, unexpected $end /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: .libs/dexec.o: not an object or archive
Also, it might be required to update autoconf up to 2.69-r4
Please open a tracker bug for this as there is a lot of autotool packages with outdated libtool files. This will require huge work if we decide to go this way.
(In reply to Gilles Dartiguelongue from comment #2) > Please open a tracker bug for this as there is a lot of autotool packages > with outdated libtool files. This will require huge work if we decide to go > this way. what is a tracker bug? How can I open it?
(In reply to Gilles Dartiguelongue from comment #2) > Please open a tracker bug for this as there is a lot of autotool packages > with outdated libtool files. This will require huge work if we decide to go > this way. By the way, how could we initiate to start working on it?
Sorry I missed your replies. The best way would be to start a discussion on gentoo-dev ml to make sure what is the best course of action, then open a tracker bug (a regular bug with "depends on" on each instance of the problem on packages) to track progress.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77ad8caa35a52d27f9bf21d39e24c8c922b38a5b commit 77ad8caa35a52d27f9bf21d39e24c8c922b38a5b Author: Sam James <sam@gentoo.org> AuthorDate: 2021-03-31 23:12:34 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-03-31 23:13:23 +0000 dev-libs/libdaemon: refresh bundled libtool Closes: https://bugs.gentoo.org/668404 Signed-off-by: Sam James <sam@gentoo.org> dev-libs/libdaemon/libdaemon-0.14-r3.ebuild | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)