Bug 1599521 - linker errors since binutils-2.30.90-1.fc29 : _end: invalid version 21 (max 0), error adding symbols: bad value
Summary: linker errors since binutils-2.30.90-1.fc29 : _end: invalid version 21 (max 0...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: binutils
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Nick Clifton
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1599441 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-07-10 02:14 UTC by Rex Dieter
Modified: 2019-10-31 22:08 UTC (History)
12 users (show)

Fixed In Version: binutils-2.31.1-11.fc29
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-10-31 22:08:59 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1600035 0 unspecified CLOSED FreeIPA's ipa-kdb compile error "multiple definition of `_end'" 2021-02-22 00:41:40 UTC
Sourceware 23499 0 'P2' 'RESOLVED' 'Incorrect code in bfd_elf_record_link_assignment' 2019-11-28 08:26:07 UTC

Internal Links: 1600035

Description Rex Dieter 2018-07-10 02:14:31 UTC
At least it appears to be binutils.

Had a couple of builds fail on all archs except ppc64, s390x recently, with errors like:

/usr/bin/ld: ../../../bin/libkwalletbackend5.so.5.48.0: _edata: invalid version 21 (max 0)
/usr/bin/ld: ../../../bin/libkwalletbackend5.so.5.48.0: error adding symbols: bad value
collect2: error: ld returned 1 exit status

(see https://koji.fedoraproject.org/koji/taskinfo?taskID=28099654 )

and 

/usr/bin/ld: /usr/lib64/libKF5TextWidgets.so.5.48.0: _end: invalid version 21 (max 0)
/usr/bin/ld: /usr/lib64/libKF5TextWidgets.so.5.48.0: error adding symbols: bad value
collect2: error: ld returned 1 exit status

(see https://koji.fedoraproject.org/koji/taskinfo?taskID=28099835 )

Comment 1 Nick Clifton 2018-07-10 12:14:27 UTC
Hi Rex,

  This happens because the linker now automatically generates the _edata
  _end and _bss_start symbols for shared libraries.  Normally this would
  not matter, unless the shared library does not use a symbol version 
  script, and so it automatically exports all of its symbols.  Then if
  you link that library with a program you can end up with symbol conflicts
  and the rather unhelpful error message that you have encountered.

  The best solution would be to fix the build machinery for 
  libkwalletbackend so that it uses a version script to only export
  those symbols that make up its API.  (I think libkwallet and maybe
  other libraries in the kf5 infrastructure may also need this fix).

  In the meantime however I have added a patch to the binutils to
  revert the change the caused these extra symbols to be exported.
  So if you ry building with  binutils-2.30.90-2.fc29  in the 
  buildroot, everything should work for you.

Cheers
  Nick

Comment 2 Rex Dieter 2018-07-10 14:49:47 UTC
symbol versioning certainly is a very nice-to-have feature, but should not be requirement.

Comment 3 Lukas Slebodnik 2018-07-12 21:27:49 UTC
*** Bug 1599441 has been marked as a duplicate of this bug. ***

Comment 4 H.J. Lu 2018-07-12 21:50:24 UTC
Please check if gold is used to create libkwalletbackend5.so.5.48.0.

Comment 5 Rex Dieter 2018-07-13 18:44:57 UTC
I believe no gold is involved, from latest build.log : 

[ 18%] Linking CXX shared library ../../../../bin/libkwalletbackend5.so
cd /builddir/build/BUILD/kwallet-5.48.0/x86_64-redhat-linux-gnu/src/runtime/kwalletd/backend && /usr/bin/cmake -E cmake_link_script CMakeFiles/kwalletbackend5.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -pedantic -Wsuggest-override -Wlogical-op -Wzero-as-null-pointer-constant -DNDEBUG -Wl,--no-undefined -Wl,--fatal-warnings -Wl,--enable-new-dtags -Wl,-z,relro   -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -shared -Wl,-soname,libkwalletbackend5.so.5 -o ../../../../bin/libkwalletbackend5.so.5.48.0 ...

Comment 6 Aleix Pol 2018-08-07 01:42:08 UTC
Were you able to solve this issue? I'm seeing this problem as well on my KDE builds (on several units).

Comment 7 Nick Clifton 2018-08-07 08:45:25 UTC
Hi Aleix,

(In reply to Aleix Pol from comment #6)
> Were you able to solve this issue? I'm seeing this problem as well on my KDE
> builds (on several units).

Which version of the binutils are you using ?

Can you give me an example of a package to build that shows the problem ?

Cheers
  Nick

Comment 8 Aleix Pol 2018-08-07 17:49:12 UTC
I'm using binutils binutils 2.31.1-1 (from ArchLinux again, I'm not sure if it's off-topic here).

For example, to when building kservice (https://phabricator.kde.org/source/kservice/) I get the following error message:
[1/65] Automatic MOC for target KF5Service
[2/62] Automatic MOC for target kautostarttest
[3/61] Automatic MOC for target ksycocadicttest
[4/60] Automatic MOC for target kbuildsycoca5
[5/59] Automatic MOC for target kservicetest
[6/58] Automatic MOC for target ksycocathreadtest
[7/57] Automatic MOC for target ksycoca_xdgdirstest
[8/56] Automatic MOC for target pluginlocatortest
[9/55] Automatic MOC for target kplugininfotest
[10/54] Automatic MOC for target fakeplugin
[11/53] Automatic MOC for target kmimeassociationstest
[12/52] Linking CXX executable bin/kbuildsycoca5
FAILED: bin/kbuildsycoca5 
: && /usr/bin/clang++  -std=c++0x -fno-operator-names -fno-exceptions -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fdiagnostics-color=always -pedantic -Wzero-as-null-pointer-constant -g  -Wl,--enable-new-dtags     -rdynamic src/kbuildsycoca/CMakeFiles/kbuildsycoca5.dir/kbuildsycoca_main.cpp.o src/kbuildsycoca/CMakeFiles/kbuildsycoca5.dir/kbuildsycoca5_autogen/mocs_compilation.cpp.o  -o bin/kbuildsycoca5  -Wl,-rpath,/home/apol/build-devel/frameworks/kservice/bin:/home/apol/devel/kde5/lib64:/home/apol/devel/kde5/lib: bin/libKF5Service.so.5.49.0 /home/apol/devel/kde5/lib64/libKF5Crash.so.5.49.0 /home/apol/devel/kde5/lib64/libKF5CoreAddons.so.5.49.0 /home/apol/devel/kde5/lib64/libKF5I18n.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Xml.so.5.11.1 /home/apol/devel/kde5/lib64/libKF5ConfigCore.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Core.so.5.11.1 -Wl,-rpath-link,/home/apol/devel/kde5/lib64:/home/apol/devel/kde5/lib && :
/usr/bin/ld: bin/libKF5Service.so.5.49.0: _edata: invalid version 21 (max 0)
/usr/bin/ld: bin/libKF5Service.so.5.49.0: error adding symbols: bad value
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
[13/52] Linking CXX executable bin/kautostarttest
FAILED: bin/kautostarttest 
: && /usr/bin/clang++  -std=c++0x -fno-operator-names -fno-exceptions -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fdiagnostics-color=always -pedantic -Wzero-as-null-pointer-constant -g  -Wl,--enable-new-dtags     -rdynamic autotests/CMakeFiles/kautostarttest.dir/kautostarttest.cpp.o autotests/CMakeFiles/kautostarttest.dir/kautostarttest_autogen/mocs_compilation.cpp.o  -o bin/kautostarttest  -Wl,-rpath,/home/apol/build-devel/frameworks/kservice/bin:/home/apol/devel/kde5/lib:/home/apol/devel/kde5/lib64 bin/libKF5Service.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Test.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Concurrent.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Xml.so.5.11.1 /home/apol/devel/kde5/lib64/libKF5ConfigCore.so.5.49.0 /home/apol/devel/kde5/lib64/libKF5CoreAddons.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Core.so.5.11.1 -Wl,-rpath-link,/home/apol/devel/kde5/lib64:/home/apol/devel/kde5/lib && :
/usr/bin/ld: bin/libKF5Service.so.5.49.0: _edata: invalid version 21 (max 0)
/usr/bin/ld: bin/libKF5Service.so.5.49.0: error adding symbols: bad value
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
[14/52] Linking CXX executable bin/kservicetest
FAILED: bin/kservicetest 
: && /usr/bin/clang++  -std=c++0x -fno-operator-names -fno-exceptions -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fdiagnostics-color=always -pedantic -Wzero-as-null-pointer-constant -g  -Wl,--enable-new-dtags     -rdynamic autotests/CMakeFiles/kservicetest.dir/kservicetest.cpp.o autotests/CMakeFiles/kservicetest.dir/__/src/services/ktraderparsetree.cpp.o autotests/CMakeFiles/kservicetest.dir/kservicetest_autogen/mocs_compilation.cpp.o  -o bin/kservicetest  -Wl,-rpath,/home/apol/build-devel/frameworks/kservice/bin:/home/apol/devel/kde5/lib:/home/apol/devel/kde5/lib64 bin/libKF5Service.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Test.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Concurrent.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Xml.so.5.11.1 /home/apol/devel/kde5/lib64/libKF5ConfigCore.so.5.49.0 /home/apol/devel/kde5/lib64/libKF5CoreAddons.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Core.so.5.11.1 -Wl,-rpath-link,/home/apol/devel/kde5/lib64:/home/apol/devel/kde5/lib && :
/usr/bin/ld: bin/libKF5Service.so.5.49.0: _edata: invalid version 21 (max 0)
/usr/bin/ld: bin/libKF5Service.so.5.49.0: error adding symbols: bad value
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
[15/52] Linking CXX executable bin/ksycoca_xdgdirstest
FAILED: bin/ksycoca_xdgdirstest 
: && /usr/bin/clang++  -std=c++0x -fno-operator-names -fno-exceptions -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fdiagnostics-color=always -pedantic -Wzero-as-null-pointer-constant -g  -Wl,--enable-new-dtags     -rdynamic autotests/CMakeFiles/ksycoca_xdgdirstest.dir/ksycoca_xdgdirstest.cpp.o autotests/CMakeFiles/ksycoca_xdgdirstest.dir/ksycoca_xdgdirstest_autogen/mocs_compilation.cpp.o  -o bin/ksycoca_xdgdirstest  -Wl,-rpath,/home/apol/build-devel/frameworks/kservice/bin:/home/apol/devel/kde5/lib:/home/apol/devel/kde5/lib64 bin/libKF5Service.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Test.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Concurrent.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Xml.so.5.11.1 /home/apol/devel/kde5/lib64/libKF5ConfigCore.so.5.49.0 /home/apol/devel/kde5/lib64/libKF5CoreAddons.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Core.so.5.11.1 -Wl,-rpath-link,/home/apol/devel/kde5/lib64:/home/apol/devel/kde5/lib && :
/usr/bin/ld: bin/libKF5Service.so.5.49.0: _edata: invalid version 21 (max 0)
/usr/bin/ld: bin/libKF5Service.so.5.49.0: error adding symbols: bad value
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
[16/52] Linking CXX executable bin/pluginlocatortest
FAILED: bin/pluginlocatortest 
: && /usr/bin/clang++  -std=c++0x -fno-operator-names -fno-exceptions -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fdiagnostics-color=always -pedantic -Wzero-as-null-pointer-constant -g  -Wl,--enable-new-dtags     -rdynamic autotests/CMakeFiles/pluginlocatortest.dir/pluginlocatortest.cpp.o autotests/CMakeFiles/pluginlocatortest.dir/pluginlocatortest_autogen/mocs_compilation.cpp.o  -o bin/pluginlocatortest  -Wl,-rpath,/home/apol/build-devel/frameworks/kservice/bin:/home/apol/devel/kde5/lib:/home/apol/devel/kde5/lib64 bin/libKF5Service.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Test.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Concurrent.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Xml.so.5.11.1 /home/apol/devel/kde5/lib64/libKF5ConfigCore.so.5.49.0 /home/apol/devel/kde5/lib64/libKF5CoreAddons.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Core.so.5.11.1 -Wl,-rpath-link,/home/apol/devel/kde5/lib64:/home/apol/devel/kde5/lib && :
/usr/bin/ld: bin/libKF5Service.so.5.49.0: _edata: invalid version 21 (max 0)
/usr/bin/ld: bin/libKF5Service.so.5.49.0: error adding symbols: bad value
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
[17/52] Linking CXX executable bin/ksycocadicttest
FAILED: bin/ksycocadicttest 
: && /usr/bin/clang++  -std=c++0x -fno-operator-names -fno-exceptions -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fdiagnostics-color=always -pedantic -Wzero-as-null-pointer-constant -g  -Wl,--enable-new-dtags     -rdynamic autotests/CMakeFiles/ksycocadicttest.dir/ksycocadicttest.cpp.o autotests/CMakeFiles/ksycocadicttest.dir/ksycocadicttest_autogen/mocs_compilation.cpp.o  -o bin/ksycocadicttest  -Wl,-rpath,/home/apol/build-devel/frameworks/kservice/bin:/home/apol/devel/kde5/lib:/home/apol/devel/kde5/lib64 bin/libKF5Service.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Test.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Concurrent.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Xml.so.5.11.1 /home/apol/devel/kde5/lib64/libKF5ConfigCore.so.5.49.0 /home/apol/devel/kde5/lib64/libKF5CoreAddons.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Core.so.5.11.1 -Wl,-rpath-link,/home/apol/devel/kde5/lib64:/home/apol/devel/kde5/lib && :
/usr/bin/ld: bin/libKF5Service.so.5.49.0: _edata: invalid version 21 (max 0)
/usr/bin/ld: bin/libKF5Service.so.5.49.0: error adding symbols: bad value
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
[18/52] Linking CXX executable bin/ksycocathreadtest
FAILED: bin/ksycocathreadtest 
: && /usr/bin/clang++  -std=c++0x -fno-operator-names -fno-exceptions -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fdiagnostics-color=always -pedantic -Wzero-as-null-pointer-constant -g  -Wl,--enable-new-dtags     -rdynamic autotests/CMakeFiles/ksycocathreadtest.dir/ksycocathreadtest.cpp.o autotests/CMakeFiles/ksycocathreadtest.dir/ksycocathreadtest_autogen/mocs_compilation.cpp.o  -o bin/ksycocathreadtest  -Wl,-rpath,/home/apol/build-devel/frameworks/kservice/bin:/home/apol/devel/kde5/lib:/home/apol/devel/kde5/lib64 bin/libKF5Service.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Test.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Concurrent.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Xml.so.5.11.1 /home/apol/devel/kde5/lib64/libKF5ConfigCore.so.5.49.0 /home/apol/devel/kde5/lib64/libKF5CoreAddons.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Core.so.5.11.1 -Wl,-rpath-link,/home/apol/devel/kde5/lib64:/home/apol/devel/kde5/lib && :
/usr/bin/ld: bin/libKF5Service.so.5.49.0: _edata: invalid version 21 (max 0)
/usr/bin/ld: bin/libKF5Service.so.5.49.0: error adding symbols: bad value
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
[19/52] Linking CXX executable bin/kplugininfotest
FAILED: bin/kplugininfotest 
: && /usr/bin/clang++  -std=c++0x -fno-operator-names -fno-exceptions -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fdiagnostics-color=always -pedantic -Wzero-as-null-pointer-constant -g  -Wl,--enable-new-dtags     -rdynamic autotests/CMakeFiles/kplugininfotest.dir/kplugininfotest.cpp.o autotests/CMakeFiles/kplugininfotest.dir/kplugininfotest_autogen/mocs_compilation.cpp.o  -o bin/kplugininfotest  -Wl,-rpath,/home/apol/build-devel/frameworks/kservice/bin:/home/apol/devel/kde5/lib:/home/apol/devel/kde5/lib64 bin/libKF5Service.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Test.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Concurrent.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Xml.so.5.11.1 /home/apol/devel/kde5/lib64/libKF5ConfigCore.so.5.49.0 /home/apol/devel/kde5/lib64/libKF5CoreAddons.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Core.so.5.11.1 -Wl,-rpath-link,/home/apol/devel/kde5/lib64:/home/apol/devel/kde5/lib && :
/usr/bin/ld: bin/libKF5Service.so.5.49.0: _edata: invalid version 21 (max 0)
/usr/bin/ld: bin/libKF5Service.so.5.49.0: error adding symbols: bad value
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
[20/52] Linking CXX executable bin/kmimeassociationstest
FAILED: bin/kmimeassociationstest 
: && /usr/bin/clang++  -std=c++0x -fno-operator-names -fno-exceptions -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fdiagnostics-color=always -pedantic -Wzero-as-null-pointer-constant -g  -Wl,--enable-new-dtags     -rdynamic autotests/CMakeFiles/kmimeassociationstest.dir/kmimeassociationstest.cpp.o autotests/CMakeFiles/kmimeassociationstest.dir/__/src/sycoca/kmimeassociations.cpp.o autotests/CMakeFiles/kmimeassociationstest.dir/sycocadebug.cpp.o autotests/CMakeFiles/kmimeassociationstest.dir/kmimeassociationstest_autogen/mocs_compilation.cpp.o  -o bin/kmimeassociationstest  -Wl,-rpath,/home/apol/build-devel/frameworks/kservice/bin:/home/apol/devel/kde5/lib:/home/apol/devel/kde5/lib64 bin/libKF5Service.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Test.so.5.11.1 /home/apol/devel/kde5/lib/libQt5Xml.so.5.11.1 /home/apol/devel/kde5/lib64/libKF5ConfigCore.so.5.49.0 /home/apol/devel/kde5/lib64/libKF5CoreAddons.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Core.so.5.11.1 -Wl,-rpath-link,/home/apol/devel/kde5/lib64:/home/apol/devel/kde5/lib && :
/usr/bin/ld: bin/libKF5Service.so.5.49.0: _edata: invalid version 21 (max 0)
/usr/bin/ld: bin/libKF5Service.so.5.49.0: error adding symbols: bad value
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
[21/52] Linking CXX shared module bin/fakeplugin.so
FAILED: bin/fakeplugin.so 
: && /usr/bin/clang++ -fPIC -std=c++0x -fno-operator-names -fno-exceptions -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fdiagnostics-color=always -pedantic -Wzero-as-null-pointer-constant -g  -Wl,--no-undefined -Wl,--fatal-warnings -Wl,--enable-new-dtags -shared  -o bin/fakeplugin.so autotests/CMakeFiles/fakeplugin.dir/nsaplugin.cpp.o autotests/CMakeFiles/fakeplugin.dir/fakeplugin_autogen/mocs_compilation.cpp.o  -Wl,-rpath,/home/apol/build-devel/frameworks/kservice/bin:/home/apol/devel/kde5/lib64:/home/apol/devel/kde5/lib bin/libKF5Service.so.5.49.0 /home/apol/devel/kde5/lib64/libKF5ConfigCore.so.5.49.0 /home/apol/devel/kde5/lib64/libKF5CoreAddons.so.5.49.0 /home/apol/devel/kde5/lib/libQt5Core.so.5.11.1 -Wl,-rpath-link,/home/apol/devel/kde5/lib64:/home/apol/devel/kde5/lib && :
/usr/bin/ld: bin/libKF5Service.so.5.49.0: _edata: invalid version 21 (max 0)
/usr/bin/ld: bin/libKF5Service.so.5.49.0: error adding symbols: bad value
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

Comment 9 Pascal Terjan 2018-08-07 17:57:46 UTC
https://src.fedoraproject.org/rpms/binutils/c/57a0cd302817a0fff7d529dc8aa7282eef480fad?branch=master fixed it for me on Mageia, you probably want it on ArchLinux.

Comment 10 Arkadiusz Miskiewicz 2018-08-07 18:35:04 UTC
But is this a fix or workaround/hack only and what upstream thinks about the problem I wonder?

Comment 11 Nick Clifton 2018-08-08 07:26:58 UTC
(In reply to Arkadiusz Miskiewicz from comment #10)
> But is this a fix or workaround/hack only and what upstream thinks about the
> problem I wonder?

This should probably be refiled as a GNU Binutils bug report, since it is 
fixed/hacked in Fedora.  If you do this, it would be really helpful if you
could provide a small testcase that reproduces the error.  (Building kservice
is a bit too much...).

One possibility we need to consider is whether this is an interaction between
llvm and ld.  It would be interesting to know if:

  a.  Does the problem still occur if you use gold rather than ld ?
  b.  Does the problem still occur if you build with gcc rather than clang ?

Comment 12 Pascal Terjan 2018-08-08 11:38:54 UTC
The problem also happens with gcc

Comment 13 H.J. Lu 2018-08-08 13:11:37 UTC
I can't build kf5-kservice-5.49.0-1.fc29.src.rpm in mock:

No matching package to install: 'extra-cmake-modules >= 5.49'
No matching package to install: 'kf5-kconfig-devel >= 5.49'
No matching package to install: 'kf5-kcoreaddons-devel >= 5.49'
No matching package to install: 'kf5-kcrash-devel >= 5.49'
No matching package to install: 'kf5-kdbusaddons-devel >= 5.49'
No matching package to install: 'kf5-kdoctools-devel >= 5.49'
No matching package to install: 'kf5-ki18n-devel >= 5.49'
Not all dependencies satisfied
Error: Some packages could not be found.

Comment 14 Rex Dieter 2018-08-08 13:48:47 UTC
<nod>, rawhide is currently being upgraded to kde frameworks 5.49 (in progress), builds underway now

Comment 15 Rex Dieter 2018-08-08 16:56:15 UTC
kf5-kservice-5.49.0-1.fc29 successfully built for rawhide,
https://koji.fedoraproject.org/koji/buildinfo?buildID=1134608

Comment 16 H.J. Lu 2018-08-08 17:58:57 UTC
I still got

No matching package to install: 'extra-cmake-modules >= 5.49'
No matching package to install: 'kf5-kconfig-devel >= 5.49'
No matching package to install: 'kf5-kcoreaddons-devel >= 5.49'
No matching package to install: 'kf5-kcrash-devel >= 5.49'
No matching package to install: 'kf5-kdbusaddons-devel >= 5.49'
No matching package to install: 'kf5-kdoctools-devel >= 5.49'
No matching package to install: 'kf5-ki18n-devel >= 5.49'

Comment 17 Rex Dieter 2018-08-08 18:39:06 UTC
clearly koji built it ok.

Just used 5.48 src.rpm then, from:
https://koji.fedoraproject.org/koji/buildinfo?buildID=1104078

Comment 18 H.J. Lu 2018-08-08 23:13:51 UTC
Gold generated bad version info:

[hjl@gnu-4 tmp]$ readelf -W --dyn-syms libQt5Core.so.5.11.1 | grep " _end"
  4822: 00000000004e36ed     0 NOTYPE  GLOBAL DEFAULT   21 _end@Qt_5
  4823: 00000000004e36ed     0 NOTYPE  GLOBAL DEFAULT   21 _end@Qt_5
[hjl@gnu-4 tmp]$ readelf -W --dyn-syms libQt5DBus.so.5.11.1 | grep " _end"
   517: 00000000000926b8     0 NOTYPE  GLOBAL DEFAULT   18 _end@@Qt_5

which leads to bad libKF5Service.so.5.48.0.

Comment 19 H.J. Lu 2018-08-09 14:58:51 UTC
(In reply to H.J. Lu from comment #18)
> Gold generated bad version info:
> 
> [hjl@gnu-4 tmp]$ readelf -W --dyn-syms libQt5Core.so.5.11.1 | grep " _end"
>   4822: 00000000004e36ed     0 NOTYPE  GLOBAL DEFAULT   21 _end@Qt_5
>   4823: 00000000004e36ed     0 NOTYPE  GLOBAL DEFAULT   21 _end@Qt_5

Gold created 2 _end@Qt_5 entries and ld doesn't handle it properly.

Comment 20 H.J. Lu 2018-08-09 23:10:08 UTC
A patch is posted at

https://sourceware.org/ml/binutils/2018-08/msg00227.html

Comment 21 H.J. Lu 2018-08-10 20:04:00 UTC
It has been fixed on binutils master branch by

commit 48e30f5238c70e738f44474d595c476ef4e4ec38
Author: H.J. Lu <hjl.tools>
Date:   Fri Aug 10 12:21:58 2018 -0700

    Always clear h->verinfo.verdef when overriding a dynamic definition

Comment 22 Jan Kurik 2018-08-14 09:54:44 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle.
Changing version to '29'.

Comment 23 Nick Clifton 2018-08-14 10:47:46 UTC
(In reply to H.J. Lu from comment #21)
> It has been fixed on binutils master branch by

Thanks H.J.  I have imported this patch into the rawhide binutils: binutils-2.31.1-11.fc29

Cheers
  Nick

Comment 24 Patrick J. LoPresti 2018-08-21 21:44:45 UTC
I found this Bugzilla after trying to compile klayout (https://klayout.de/) using stock binutils-2.31.1, which fails with the "unhelpful" error message about _edata/_end. It appears that klayout generates a number of shared libraries without symbol versions for its own internal use.

The patch linked by Pascal Terjan in comment #9 fixed the build for me. H.J. Lu's patch linked in comment #20 -- which I tried first -- did *not* help.

Just FYI

Comment 25 H.J. Lu 2018-08-25 13:32:07 UTC
(In reply to Patrick J. LoPresti from comment #24)
> I found this Bugzilla after trying to compile klayout (https://klayout.de/)
> using stock binutils-2.31.1, which fails with the "unhelpful" error message
> about _edata/_end. It appears that klayout generates a number of shared
> libraries without symbol versions for its own internal use.
> 
> The patch linked by Pascal Terjan in comment #9 fixed the build for me. H.J.
> Lu's patch linked in comment #20 -- which I tried first -- did *not* help.
> 

Please apply this patch:

https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=7a815dd566f3dd32435ac73aa0a0cc948d525e06

to your binutils and use

for f in `find -name "lib*.so.*" `
do
objdump -T $f | grep "<corrupt>" && echo $f
done

to check which shared libraries on your system are corrupt.  Then rebuild
these libraries with the new linker.

Comment 26 Ben Cotton 2019-10-31 19:09:37 UTC
This message is a reminder that Fedora 29 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 29 on 2019-11-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '29'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 29 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 27 Lukas Slebodnik 2019-10-31 22:08:59 UTC
Cannot reproduce with binutils-2.32-27.fc32.x86_64


Note You need to log in before you can comment on or make changes to this bug.