https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: dev-python/pplpy-0.8.10 fails tests. Discovered on: amd64 (internal ref: ci) Info about the issue: https://wiki.gentoo.org/wiki/Project:Tinderbox/Common_Issues_Helper#CF0015
Created attachment 888494 [details] build.log build log and emerge --info
Beats me. I don't suppose you changed C++ compilers or linkers or something like that in between merging gmp/ppl and pplpy? The -l flags are there when linking that file, so the symbol might just not be there? 2024-03-25 06:31:28,750 root INFO x86_64-pc-linux-gnu-g++ -shared -Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0 -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -UNDEBUG /var/tmp/portage/dev-python/pplpy-0.8.10/work/pplpy-0.8.10-python3_10/build/temp.linux-x86_64-cpython-310/ppl/congruence.o /var/tmp/portage/dev-python/pplpy-0.8.10/work/pplpy-0.8.10-python3_10/build/temp.linux-x86_64-cpython-310/ppl/ppl_shim.o -L/usr/lib64 -lgmp -lgmpxx -lppl -lm -o /var/tmp/portage/dev-python/pplpy-0.8.10/work/pplpy-0.8.10-python3_10/build/lib.linux-x86_64-cpython-310/ppl/congruence.cpython-310-x86_64-linux-gnu.so
I think I have identified the problem here. Short answer: this package needs -j1. Long answer: this package contains multiple extension modules, and all of them need to compile ppl_shim.cc. In a parallel build, ppl_shim.o from a previous compilation may be overwritten by a later one, which seems to make the linker think the symbols does not exist. It can be verified that after src_compile, manually going into the build directory and rerunning the linker produces the correct result. I am not certain why pplpy-0.8.9 is not affected. It seems that in 0.8.9 extensions are always built sequentially. Maybe it is related to upstream build system changes from 0.8.9 to 0.8.10 (it is the only changes between two versions).
Created attachment 889006 [details, diff] ebuild patch
Oh, thanks. The previous version had non-parallel build forced with ambiguous comment, and since I couldn't reproduce with heavily parallel build myself, I've removed it. I'm going to add it back.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8dd5d7835e571c7b96406469a176557d118981c commit a8dd5d7835e571c7b96406469a176557d118981c Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2024-03-29 13:08:24 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2024-03-29 13:08:24 +0000 dev-python/pplpy: Force serial build again Closes: https://bugs.gentoo.org/927770 Signed-off-by: Michał Górny <mgorny@gentoo.org> dev-python/pplpy/pplpy-0.8.10.ebuild | 5 +++++ 1 file changed, 5 insertions(+)
The useless comment was me, sorry. Thanks for debugging the issue Yutao. Now that we know what the problem is, I see that somebody named mgorny reported the problem upstream already in 2021 at $URL.