Summary: | <sys-devel/binutils-2.31.1 - linker fails with duplicate symbols | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Leonid Kopylov <leonchik1976> |
Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | andrius, audvare, berto.d.sera, bertrand, bugs, conikost, gentoo-bugs-augustin, h.mth, jeremy, kajanos, kensington, klaus818, kroemmelbein, mlspamcb, Oruriz, pacho, porcupineofthemoon, sandino, silvio.gerli, till2.schaefer, whissi, zerochaos |
Priority: | Normal | Keywords: | REGRESSION |
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
URL: | https://sourceware.org/bugzilla/show_bug.cgi?id=21074 | ||
See Also: |
https://bugzilla.redhat.com/show_bug.cgi?id=1458003 https://bugs.gentoo.org/show_bug.cgi?id=607974 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 681682 | ||
Bug Blocks: | |||
Attachments: |
build.log.tar
build.log.bz2 kphotoalbum build with new binutils |
Description
Leonid Kopylov
2017-07-02 17:42:45 UTC
Created attachment 480016 [details]
build.log.tar
Version of Qt? (In reply to Andreas Sturmlechner from comment #2) > Version of Qt? qt5 What version of Qt5... (In reply to Andreas Sturmlechner from comment #4) > What version of Qt5... how do i find it? nvm, it's at the end of your build.log anyway: /usr/lib64/libQt5WebKitWidgets.so.5.7.1:(*IND*+0x0): multiple definition of `_end' /usr/lib64/libQt5WebKitWidgets.so.5.7.1:(*IND*+0x0): multiple definition of `_edata' /usr/lib64/libQt5WebKitWidgets.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start' /usr/lib64/libQt5Widgets.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start' /usr/lib64/libQt5Widgets.so.5.7.1:(*IND*+0x0): multiple definition of `_edata' /usr/lib64/libQt5Widgets.so.5.7.1:(*IND*+0x0): multiple definition of `_end' ... /usr/lib64/libQt5OpenGL.so.5:(*IND*+0x0): multiple definition of `_edata' /usr/lib64/libQt5OpenGL.so.5:(*IND*+0x0): multiple definition of `_end' /usr/lib64/libQt5OpenGL.so.5:(*IND*+0x0): multiple definition of `__bss_start' collect2: error: ld returned 1 exit status This is apparently a binutils-2.28 regression, CCing toolchain@ *** Bug 627692 has been marked as a duplicate of this bug. *** Could you please test with newer binutils? The upstream report indicates that the problem may be fixed. *** Bug 634124 has been marked as a duplicate of this bug. *** (In reply to Andreas K. Hüttel from comment #9) > Could you please test with newer binutils? The upstream report indicates > that the problem may be fixed. i reinstalled the whole system, media-gfx/kphotoalbum-5.2 still failed to emerge Created attachment 500980 [details]
build.log.bz2
Still getting reports that this is happening with bfd. *** Bug 636664 has been marked as a duplicate of this bug. *** *** Bug 636698 has been marked as a duplicate of this bug. *** I tried it with the newest version of the binutils, but it still fails for me. [ebuild R ~] sys-devel/binutils-2.29.1-r1:2.29.1::gentoo USE="cxx nls -multitarget -static-libs {-test} -vanilla" 0 KiB eselect binutils list [1] x86_64-pc-linux-gnu-2.28.1 [2] x86_64-pc-linux-gnu-2.29.1 * . /etc/profile libQt5Gui.so.5.7.1 /usr/lib64/libQt5Core.so.5.7.1 /usr/lib64/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start' /usr/lib64/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `_edata' /usr/lib64/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `_end' /usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start' /usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start' /usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_edata' /usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_edata' /usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_end' /usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_end' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/kphotoalbum.dir/build.make:5739: kphotoalbum] Error 1 make[2]: Leaving directory '/var/tmp/portage/media-gfx/kphotoalbum-5.2/work/kphotoalbum-5.2_build' make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/kphotoalbum.dir/all] Error 2 make[1]: Leaving directory '/var/tmp/portage/media-gfx/kphotoalbum-5.2/work/kphotoalbum-5.2_build' make: *** [Makefile:141: all] Error 2 I did NOT update sys-libs/binutils-libs: [ebuild R ] sys-libs/binutils-libs-2.28.1:0/2.28.1::gentoo USE="nls -64-bit-bfd -multitarget -static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB Would it be necessary to update the libs as well? Created attachment 502946 [details]
kphotoalbum build with new binutils
same error here with opencv-2.4.13-r3 and binutils-2.29.1-r1: [ 31%] Linking CXX shared library ../../lib/libopencv_highgui.so cd /var/tmp/portage/media-libs/opencv-2.4.13-r3/work/opencv-2.4.13_build/modules/highgui && /usr/bin/cmake -E cmake_link_script CMakeFiles/opencv_highgui.dir/link.txt --verbose=1 /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -march=native -O2 -pipe -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-array-bounds -Wno-aggressive-loop-optimizations -fdiagnostics-show-option -Wno-long-long -pthread -ffunction-sections -fopenmp -Wno-deprecated-declarations -Wno-clobbered -Wl,-O1 -Wl,--as-needed -shared -Wl,-soname,libopencv_highgui.so.2.4 -o ../../lib/libopencv_highgui.so.2.4.13 CMakeFiles/opencv_highgui.dir/src/cap.cpp.o CMakeFiles/opencv_highgui.dir/src/cap_images.cpp.o CMakeFiles/opencv_highgui.dir/src/loadsave.cpp.o CMakeFiles/opencv_highgui.dir/src/utils.cpp.o CMakeFiles/opencv_highgui.dir/src/window.cpp.o CMakeFiles/opencv_highgui.dir/src/window_QT.cpp.o CMakeFiles/opencv_highgui.dir/qrc_window_QT.cpp.o CMakeFiles/opencv_highgui.dir/src/grfmt_base.cpp.o CMakeFiles/opencv_highgui.dir/src/grfmt_bmp.cpp.o CMakeFiles/opencv_highgui.dir/src/grfmt_exr.cpp.o CMakeFiles/opencv_highgui.dir/src/grfmt_imageio.cpp.o CMakeFiles/opencv_highgui.dir/src/grfmt_jpeg.cpp.o CMakeFiles/opencv_highgui.dir/src/grfmt_jpeg2000.cpp.o CMakeFiles/opencv_highgui.dir/src/grfmt_png.cpp.o CMakeFiles/opencv_highgui.dir/src/grfmt_pxm.cpp.o CMakeFiles/opencv_highgui.dir/src/grfmt_sunras.cpp.o CMakeFiles/opencv_highgui.dir/src/grfmt_tiff.cpp.o CMakeFiles/opencv_highgui.dir/src/bitstrm.cpp.o CMakeFiles/opencv_highgui.dir/opencv_highgui_autogen/moc_compilation.cpp.o ../../lib/libopencv_imgproc.so.2.4.13 -ldl -lm -lpthread -lrt -lGLU -lGL -ltbb -lz -ljpeg -lpng -lz -ltiff /usr/lib64/libQt5Test.so.5.7.1 /usr/lib64/libQt5Concurrent.so.5.7.1 /usr/lib64/libQt5OpenGL.so.5.7.1 ../../lib/libopencv_core.so.2.4.13 -ldl -lm -lpthread -lrt -ltbb -ljpeg -lpng -ltiff /usr/lib64/libQt5Widgets.so.5.7.1 /usr/lib64/libQt5Gui.so.5.7.1 /usr/lib64/libQt5Core.so.5.7.1 /usr/lib64/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start' /usr/lib64/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `_edata' /usr/lib64/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `_end' /usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start' /usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start' /usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_edata' /usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_edata' /usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_end' /usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_end' collect2: error: ld returned 1 exit status I have the same problem building opencv as Martin Heusel. *** Bug 638948 has been marked as a duplicate of this bug. *** The same with opencv-2.4.13-r3, switching binutils & rebuild of qt didn't help. Has anyone found a solution? *** Bug 639270 has been marked as a duplicate of this bug. *** This may be a hint.... https://github.com/meta-qt5/meta-qt5/commit/3ae86cb32edd1449f702e0a094929ae9b21ce191 (In reply to Nico Baggus from comment #23) > This may be a hint.... > > https://github.com/meta-qt5/meta-qt5/commit/ > 3ae86cb32edd1449f702e0a094929ae9b21ce191 Err, this indicates that a fix might be possible on the qt side. (In reply to Andreas K. Hüttel from comment #24) > (In reply to Nico Baggus from comment #23) > > This may be a hint.... > > > > https://github.com/meta-qt5/meta-qt5/commit/ > > 3ae86cb32edd1449f702e0a094929ae9b21ce191 > > Err, this indicates that a fix might be possible on the qt side. Not really. This is a gold bug, therefore gold must be fixed. The workaround on the qt side (force linking with bfd ld instead of gold) isn't really a solution, since the problem can appear in any other package built with gold. Fedora added[1] a workaround to ignore duplicate symbols in bfd ld, but then removed it without explanation after updating to 2.29. [1] https://src.fedoraproject.org/cgit/rpms/binutils.git/commit/?id=803efc2501ee7ecaf68c99bb436ea924274a6ccc The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08de8e36f50def97e798d6e548aa7e9c8565ec35 commit 08de8e36f50def97e798d6e548aa7e9c8565ec35 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2017-12-09 22:53:45 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2017-12-09 22:54:25 +0000 media-gfx/kphotoalbum: force gold linker to work around binutils bug Bug: https://bugs.gentoo.org/623566 Package-Manager: Portage-2.3.14, Repoman-2.3.6 media-gfx/kphotoalbum/Manifest | 2 +- media-gfx/kphotoalbum/kphotoalbum-5.2.ebuild | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-)} I've pushed an additional workaround to help avoid the exposure of this breakage: https://gitweb.gentoo.org/proj/qt.git/commit/?id=fe45faae1a15c644db0420f33a67df5197c52fcc This will help where a user does not change their linker backwards and forwards and will only take effect after a qt update/rebuild. (In reply to Michael Palimaka (kensington) from comment #27) > I've pushed an additional workaround to help avoid the exposure of this > breakage: > https://gitweb.gentoo.org/proj/qt.git/commit/ > ?id=fe45faae1a15c644db0420f33a67df5197c52fcc > > This will help where a user does not change their linker backwards and > forwards and will only take effect after a qt update/rebuild. Good idea, thanks! *** Bug 641960 has been marked as a duplicate of this bug. *** I've pushed the qt5-build.eclass improvement to ::gentoo now: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=64b2ad10079f4c4931520ef102b35f672ee74d99 (In reply to Davide Pesavento from comment #25) > Fedora added[1] a workaround to ignore duplicate symbols in bfd ld, but then > removed it without explanation after updating to 2.29. > > [1] > https://src.fedoraproject.org/cgit/rpms/binutils.git/commit/ > ?id=803efc2501ee7ecaf68c99bb436ea924274a6ccc Well, it's just a guess, but seeing that in spec file one of the entries before removing that patch was 'Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild'...well, that's likely the reason for removing the patch. Just had a look at fedora's binutils.spec[0] for 2.29.1. Patch08 (Patch09 and Patch11 - though unrelated but still interesting to have) seems to be queued for 2.30 release. Should we wait for 2.30 or should Gentoo's binutils 2.29.1 be patched? [0] http://pkgs.fedoraproject.org/cgit/rpms/binutils.git/tree/binutils.spec?id=b8265c46f7ddae23a792ee8306fbaaeacba83bf8#n118 *** Bug 642350 has been marked as a duplicate of this bug. *** *** Bug 642296 has been marked as a duplicate of this bug. *** *** Bug 642922 has been marked as a duplicate of this bug. *** on an updated system I was instructed by asturm on irc to rebuild qtcore and my issue has since vanished. likely this will help others to at least get out of this situation. (In reply to Hanno Meyer-Thurow (geki) from comment #32) > Just had a look at fedora's binutils.spec[0] for 2.29.1. Patch08 (Patch09 > and Patch11 - though unrelated but still interesting to have) seems to be > queued for 2.30 release. > > Should we wait for 2.30 or should Gentoo's binutils 2.29.1 be patched? > > [0] > http://pkgs.fedoraproject.org/cgit/rpms/binutils.git/tree/binutils. > spec?id=b8265c46f7ddae23a792ee8306fbaaeacba83bf8#n118 Could Fedora patch be applied meantime? It is not too obvious to know that you need to rebuild qtcore to make qtgui build before coming here to know it :/ Thanks i have had the same issue too http://forums.gentoo.org/viewtopic-t-1074980-start-0-postdays-0-postorder-asc-highlight-.html qtgui wouldn't build and only compiled successfully after rebuilding qtcore. qtdeclarative wouldn't build and only compiled successfully after rebuilding qtnetwork. all packages on stable x86. i haven't had any qt updates recently, but recompiling world after profile update to 17.0 *** Bug 645408 has been marked as a duplicate of this bug. *** *** Bug 645682 has been marked as a duplicate of this bug. *** mjo identified this binutils patch which may help: https://sourceware.org/ml/binutils/2017-11/msg00543.html Just had a failure building qtdeclarative-5.9.3: x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,--as-needed -Wl,--enable-new-dtags -shared -o libparticlesplugin.so .obj/plugin.o -L/var/tmp/portage/dev-qt/qtdeclarative-5.9.3/work/qtdeclarative-opensource-src-5.9.3/lib -lQt5QuickParticles -lQt5Quick -lQt5Qml -lQt5Gui -lQt5Network -lQt5Core -lGL -lpthread /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64/libQt5Gui.so:(*IND*+0x0): multiple definition of `__bss_start' /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64/libQt5Gui.so:(*IND*+0x0): multiple definition of `_edata' /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64/libQt5Gui.so:(*IND*+0x0): multiple definition of `_end' /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64/libQt5Network.so:(*IND*+0x0): multiple definition of `_edata' /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64/libQt5Network.so:(*IND*+0x0): multiple definition of `__bss_start' /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64/libQt5Network.so:(*IND*+0x0): multiple definition of `_end' collect2: error: ld returned 1 exit status I'm guessing this is more-of-the-same. I'm rebuilding qtcore, qtgui, and qtnetwork to see if that allows me to build qtdeclarative. (In reply to Grant Goodyear from comment #42) > Just had a failure building qtdeclarative-5.9.3: > > x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,--as-needed -Wl,--enable-new-dtags > -shared -o libparticlesplugin.so .obj/plugin.o > -L/var/tmp/portage/dev-qt/qtdeclarative-5.9.3/work/qtdeclarative-opensource- > src-5.9.3/lib -lQt5QuickParticles -lQt5Quick -lQt5Qml -lQt5Gui -lQt5Network > -lQt5Core -lGL -lpthread > /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64/libQt5Gui.so: > (*IND*+0x0): multiple definition of `__bss_start' > /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64/libQt5Gui.so: > (*IND*+0x0): multiple definition of `_edata' > /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64/libQt5Gui.so: > (*IND*+0x0): multiple definition of `_end' > /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64/libQt5Network.so: > (*IND*+0x0): multiple definition of `_edata' > /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64/libQt5Network.so: > (*IND*+0x0): multiple definition of `__bss_start' > /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64/libQt5Network.so: > (*IND*+0x0): multiple definition of `_end' > collect2: error: ld returned 1 exit status > > I'm guessing this is more-of-the-same. I'm rebuilding qtcore, qtgui, and > qtnetwork to see if that allows me to build qtdeclarative. Yep, that worked. *** Bug 646290 has been marked as a duplicate of this bug. *** *** Bug 646308 has been marked as a duplicate of this bug. *** *** Bug 646358 has been marked as a duplicate of this bug. *** *** Bug 646754 has been marked as a duplicate of this bug. *** This might be fixed in future binutils-2.31.1-r2, fingers crossed. Not sure. https://github.com/gentoo/binutils-gdb/commit/612de6a0d2b164816ee0d8ee8e8a2c7d3b2f477c The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0309767fb5b4f958d271526d3730a7da407b2a93 commit 0309767fb5b4f958d271526d3730a7da407b2a93 Author: Andreas K. Hüttel <dilfridge@gentoo.org> AuthorDate: 2018-12-03 23:43:15 +0000 Commit: Andreas K. Hüttel <dilfridge@gentoo.org> CommitDate: 2018-12-03 23:43:32 +0000 sys-devel/binutils: 2.31.1 revbump, pl 4 (no keywords, please test!) Bug: https://bugs.gentoo.org/672398 Bug: https://bugs.gentoo.org/672126 Bug: https://bugs.gentoo.org/623566 Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org> sys-devel/binutils/Manifest | 1 + sys-devel/binutils/binutils-2.31.1-r2.ebuild | 427 +++++++++++++++++++++++++++ 2 files changed, 428 insertions(+) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39bff4d8ecf2590b647d7aef196b7f22d57b85c6 commit 39bff4d8ecf2590b647d7aef196b7f22d57b85c6 Author: Andreas K. Hüttel <dilfridge@gentoo.org> AuthorDate: 2018-12-08 17:54:03 +0000 Commit: Andreas K. Hüttel <dilfridge@gentoo.org> CommitDate: 2018-12-08 18:03:10 +0000 sys-devel/binutils: rekeyword Closes: https://bugs.gentoo.org/672398 Bug: https://bugs.gentoo.org/623566 Closes: https://bugs.gentoo.org/672126 Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org> sys-devel/binutils/binutils-2.31.1-r2.ebuild | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=894e4f2719e94cdfbb639dbaffbcec1433d206bb commit 894e4f2719e94cdfbb639dbaffbcec1433d206bb Author: Andreas K. Hüttel <dilfridge@gentoo.org> AuthorDate: 2019-04-28 23:58:37 +0000 Commit: Andreas K. Hüttel <dilfridge@gentoo.org> CommitDate: 2019-04-28 23:58:37 +0000 package.mask: Mask <sys-devel/binutils-2.31.1-r4 and friends Closes: https://bugs.gentoo.org/623566 Bug: https://bugs.gentoo.org/676460 Bug: https://bugs.gentoo.org/682702 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org> profiles/package.mask | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) |