revert some of the dso linking changes got fixed by newer linker
cover revert some of the dso linking changes got fixed by newer linker
The newer linker from binutils 2.21 has a fix which avoids linking errors with weak symbols like pthread_cancel, when --no-add-as-needed parameter is passed to the linker.
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: nitin/dso_linking_change
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/dso_linking_change
Thanks,
Nitin A Kamble <[email protected]>
---
Nitin A Kamble (3):
libmusicbrainz: revert the dso_linking_change patch as the new linker
fixes it
libzypp: revert the dso_linking_change patch as the new linker fixes
it
apt: revert the dso_linking_change patch as the new linker fixes it
.../apt-0.7.14/dso_linking_change_build_fix.patch | 25 ---------- meta/recipes-devtools/apt/apt_0.7.14.bb | 5 +- .../libzypp/dso_linking_change_build_fix.patch | 50 -------------------- meta/recipes-extended/libzypp/libzypp_git.bb | 5 +- .../dso_linking_change_build_fix.patch | 29 ----------- .../musicbrainz/libmusicbrainz_3.0.3.bb | 5 +- 6 files changed, 6 insertions(+), 113 deletions(-) delete mode 100644 meta/recipes-devtools/apt/apt-0.7.14/dso_linking_change_build_fix.patch delete mode 100644 meta/recipes-extended/libzypp/libzypp/dso_linking_change_build_fix.patch delete mode 100644 meta/recipes-multimedia/musicbrainz/libmusicbrainz-3.0.3/dso_linking_change_build_fix.patch
Signature · 1 line
1.7.3.4
PATCH 1/3 libmusicbrainz: revert the dso_linking_change patch as the new linker fixes it
The newer binutils recipe of version 2.21 has a fix for ld which avoids an issue where weak symbols like pthread_cancel were causing linking to fail when --no-add-as-needed parameter was passed to ld.
See more information here: http://bugs.debian.org/591405
This makes some of the fixes for breakage after gcc dso linking change unnecessary and this is one of them.
--- .../dso_linking_change_build_fix.patch | 29 -------------------- .../musicbrainz/libmusicbrainz_3.0.3.bb | 5 +-- 2 files changed, 2 insertions(+), 32 deletions(-) delete mode 100644 meta/recipes-multimedia/musicbrainz/libmusicbrainz-3.0.3/dso_linking_change_build_fix.patch
meta/recipes-multimedia/musicbrainz/libmusicbrainz-3.0.3/dso_linking_change_build_fix.patch deleted +0 -29
@@ -1,29 +0,0 @@ -dso build fix: -With a dso patch for gcc, which prevents automatic linking of unspecified libraries, -this recipe fails to compile with this error: - -| Linking CXX executable cdlookup^M -| cd /disk0/pokybuild/build1/tmp/work/i586-poky-linux/libmusicbrainz-3.0.3-r0/libmusicbrainz-3.0.3/examples && /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/cdlookup.dir/link.txt --verbose=1^M -| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/i586-poky-linux-g++ -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -fpermissive -Wl,-O1 -Wl,--as-needed CMakeFiles/cdlookup.dir/cdlookup.cpp.o -o cdlookup -rdynamic ../src/libmusicbrainz3.so.6.3.0 -lneon -Wl,-rpath,/disk0/pokybuild/build1/tmp/work/i586-poky-linux/libmusicbrainz-3.0.3-r0/libmusicbrainz-3.0.3/src^M -| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: ~I: invalid DSO for symbol `pthread_cancel@@GLIBC_2.0' definition^M -| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/lib/libpthread.so.0: could not read symbols: Bad value^M -| collect2: ld returned 1 exit status^M -| make[2]: *** [examples/cdlookup] Error 1^M -| make[2]: Leaving directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/libmusicbrainz-3.0.3-r0/libmusicbrainz-3.0.3' - -fixing the issue by making linking of libpthread explicit. - -Nitin A Kamble <[email protected]> -Date: 2011/01/10 - -Index: libmusicbrainz-3.0.3/examples/CMakeLists.txt -=================================================================== ---- libmusicbrainz-3.0.3.orig/examples/CMakeLists.txt -+++ libmusicbrainz-3.0.3/examples/CMakeLists.txt -@@ -1,5 +1,5 @@ - INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include) --LINK_LIBRARIES(musicbrainz3 ${NEON_LIBRARIES}) -+LINK_LIBRARIES(musicbrainz3 ${NEON_LIBRARIES} pthread) - ADD_EXECUTABLE(cdlookup cdlookup.cpp) - ADD_EXECUTABLE(findartist findartist.cpp) - ADD_EXECUTABLE(findtrack findtrack.cpp)
meta/recipes-multimedia/musicbrainz/libmusicbrainz_3.0.3.bb +2 -3
@@ -6,11 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24 \ file://include/musicbrainz3/includes.h;beginline=1;endline=21;md5=9ab2846573f560cea7561da472803a72" DEPENDS = "expat neon" -PR = "r1" +PR = "r2" SRC_URI = "http://ftp.musicbrainz.org/pub/musicbrainz/${PN}-${PV}.tar.gz \ - file://fix_build_issue_for_gcc_4.5.0.patch \ - file://dso_linking_change_build_fix.patch " + file://fix_build_issue_for_gcc_4.5.0.patch " SRC_URI[md5sum] = "f4824d0a75bdeeef1e45cc88de7bb58a" SRC_URI[sha256sum] = "7fd459a9fd05be9faec60a9a21caa9a1e9fda03147d58d8c7c95f33582a738c5"
Signature · 1 line
1.7.3.4
PATCH 2/3 libzypp: revert the dso_linking_change patch as the new linker fixes it
In reply to Nitin A KambleThe newer binutils recipe of version 2.21 has a fix for ld which avoids an issue where weak symbols like pthread_cancel were causing linking to fail when --no-add-as-needed parameter was passed to ld.
See more information here: http://bugs.debian.org/591405
This makes some of the fixes for breakage after gcc dso linking change unnecessary and this is one of them.
--- .../libzypp/dso_linking_change_build_fix.patch | 50 -------------------- meta/recipes-extended/libzypp/libzypp_git.bb | 5 +- 2 files changed, 2 insertions(+), 53 deletions(-) delete mode 100644 meta/recipes-extended/libzypp/libzypp/dso_linking_change_build_fix.patch
meta/recipes-extended/libzypp/libzypp/dso_linking_change_build_fix.patch deleted +0 -50
@@ -1,50 +0,0 @@ -after gcc linking has changed, all the libraries must be explicitely specified -This patch avoids these linking errors: - - -Linking CXX executable DumpSelectable -cd /build_disk/poky_build/build0/tmp/work/i586-poky-linux/libzypp-0.0-git0+4494797d5b0369365b1af63921de45b197ead64f-r4/git/tools && /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/DumpSelectable.dir/link.txt --verbose=1 -/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/i586-poky-linux-g++ -march=i586 --sysroot=/build_disk/poky_build/build0/tmp/sysroots/i586-poky-linux -fpermissive -fno-strict-aliasing -fPIC -g -Wall -Werror=format-security -Woverloaded-virtual -Wnon-virtual-dtor -Wl,-as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed CMakeFiles/DumpSelectable.dir/DumpSelectable.cc.o -o DumpSelectable -rdynamic ../zypp/libzypp.so.800.1.1 -lboost_program_options-mt -lutil -lrpm -lcurl -lxml2 -lz -Wl,-Bstatic -lsatsolver -lsatsolverext -Wl,-Bdynamic -lexpat -lssl -lcrypto -lboost_signals-mt -ludev -Wl,-rpath,/build_disk/poky_build/build0/tmp/work/i586-poky-linux/libzypp-0.0-git0+4494797d5b0369365b1af63921de45b197ead64f-r4/git/zypp -/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: Ý: invalid DSO for symbol `pthread_cancel@@GLIBC_2.0' definition -/build_disk/poky_build/build0/tmp/sysroots/i586-poky-linux/lib/libpthread.so.0: could not read symbols: Bad value -collect2: ld returned 1 exit status -make[2]: *** [tools/DumpSelectable] Error 1 - - - -| Linking CXX executable COW_debug -| cd /build_disk/poky_build/build0/tmp/work/i586-poky-linux/libzypp-0.0-git0+4494797d5b0369365b1af63921de45b197ead64f-r5/git/examples && /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/COW_debug.dir/link.txt --verbose=1 -| /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/i586-poky-linux-g++ -march=i586 --sysroot=/build_disk/poky_build/build0/tmp/sysroots/i586-poky-linux -fpermissive -fno-strict-aliasing -fPIC -g -Wall -Werror=format-security -Woverloaded-virtual -Wnon-virtual-dtor -Wl,-as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed CMakeFiles/COW_debug.dir/COW_debug.cc.o -o COW_debug -rdynamic ../zypp/libzypp.so.800.1.1 -lutil -lrpm -lcurl -lxml2 -lz -Wl,-Bstatic -lsatsolver -lsatsolverext -Wl,-Bdynamic -lexpat -lssl -lcrypto -lboost_signals-mt -ludev -Wl,-rpath,/build_disk/poky_build/build0/tmp/work/i586-poky-linux/libzypp-0.0-git0+4494797d5b0369365b1af63921de45b197ead64f-r5/git/zypp -| /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: �: invalid DSO for symbol `pthread_cancel@@GLIBC_2.0' definition -| /build_disk/poky_build/build0/tmp/sysroots/i586-poky-linux/lib/libpthread.so.0: could not read symbols: Bad value -| collect2: ld returned 1 exit status -| make[2]: *** [examples/COW_debug] Error 1 - - -Nitin A Kamble <[email protected]> -Date: 2011/01/18 - -Index: git/tools/CMakeLists.txt -=================================================================== ---- git.orig/tools/CMakeLists.txt 2010-12-19 23:59:02.000000000 -0800 -+++ git/tools/CMakeLists.txt 2011-01-18 17:07:52.132140223 -0800 -@@ -13,6 +13,7 @@ - ) - TARGET_LINK_LIBRARIES( ${loop_var} - zypp -+ pthread - boost_program_options-mt - ) - ENDFOREACH( loop_var ) -Index: git/examples/CMakeLists.txt -=================================================================== ---- git.orig/examples/CMakeLists.txt 2010-12-19 23:59:01.000000000 -0800 -+++ git/examples/CMakeLists.txt 2011-01-18 17:17:41.760411373 -0800 -@@ -8,6 +8,7 @@ - ) - TARGET_LINK_LIBRARIES( ${loop_var} - zypp -+ pthread - ) - ENDFOREACH( loop_var ) -
meta/recipes-extended/libzypp/libzypp_git.bb +2 -3
@@ -13,12 +13,11 @@ RDEPENDS_${PN} = "sat-solver" S = "${WORKDIR}/git" PV = "0.0-git${SRCPV}" -PR = "r5" +PR = "r6" SRC_URI = "git://gitorious.org/opensuse/libzypp.git;protocol=git \ file://no-doc.patch \ - file://rpm5.patch \ - file://dso_linking_change_build_fix.patch" + file://rpm5.patch " SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"
Signature · 1 line
1.7.3.4
PATCH 3/3 apt: revert the dso_linking_change patch as the new linker fixes it
In reply to Nitin A KambleThe newer binutils recipe of version 2.21 has a fix for ld which avoids an issue where weak symbols like pthread_cancel were causing linking to fail wh --no-add-as-needed parameter was passed to ld.
See more information here: http://bugs.debian.org/591405
This makes some of the fixes for breakage after gcc dso linking change unnecessary and this is one of them.
--- .../apt-0.7.14/dso_linking_change_build_fix.patch | 25 -------------------- meta/recipes-devtools/apt/apt_0.7.14.bb | 5 +-- 2 files changed, 2 insertions(+), 28 deletions(-) delete mode 100644 meta/recipes-devtools/apt/apt-0.7.14/dso_linking_change_build_fix.patch
meta/recipes-devtools/apt/apt-0.7.14/dso_linking_change_build_fix.patch deleted +0 -25
@@ -1,25 +0,0 @@ -after gcc linking has changed, all the libraries must be explicitely specified -This patch avoids these linking errors: - -Building program /build_disk/poky_build/build0/tmp/work/i586-poky-linux/apt-0.7.14-r4/apt-0.7.14/bin/methods/https -/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: <86>: invalid DSO for symbol `pthread_cancel@@GLIBC_2.0' definition -/build_disk/poky_build/build0/tmp/sysroots/i586-poky-linux/lib/libpthread.so.0: could not read symbols: Bad value -collect2: ld returned 1 exit status -make[2]: *** [/build_disk/poky_build/build0/tmp/work/i586-poky-linux/apt-0.7.14-r4/apt-0.7.14/bin/methods/https] Error 1 - -Nitin A Kamble <[email protected]> -Date: 2011/01/19 - -Index: apt-0.7.14/methods/makefile -=================================================================== ---- apt-0.7.14.orig/methods/makefile 2008-05-28 06:22:14.000000000 -0700 -+++ apt-0.7.14/methods/makefile 2011-01-19 16:30:07.369010214 -0800 -@@ -54,7 +54,7 @@ - - # The https method - PROGRAM=https --SLIBS = -lapt-pkg -lcurl -+SLIBS = -lapt-pkg -lcurl -lpthread - LIB_MAKES = apt-pkg/makefile - SOURCE = https.cc - include $(PROGRAM_H)
meta/recipes-devtools/apt/apt_0.7.14.bb +2 -3
@@ -3,11 +3,10 @@ RDEPENDS_${PN} = "dpkg" LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3" require apt.inc -PR = "r5" +PR = "r6" SRC_URI += "file://nodoc.patch \ - file://includes-fix.patch \ - file://dso_linking_change_build_fix.patch " + file://includes-fix.patch " SRC_URI[md5sum] = "19efa18fb1ef20c58b9b44e94258b814" SRC_URI[sha256sum] = "8fc06effaf8a4e4333308eedcdc6840f1c8056f2e924210f151dfc076bcd4045"
Signature · 1 line
1.7.3.4
Quoted 4 lines · Nitin A Kamble
The newer linker from binutils 2.21 has a fix which avoids linking errors with weak symbols like
pthread_cancel, when --no-add-as-needed parameter is passed to the linker.
Nitin,
Seems there is a problem with Mutter and the DSO changes.
arm-poky-linux-gnueabi-libtool: link: cannot find the library/usr/lib/libpangocairo-1.0.la' or unhandled argument /usr/lib/libpangocairo-1.0.la'
make[4]: *** [wm-tester] Error 1
make[4]: Leaving directory `/intel/poky/distro/build/tmp/work/armv5te-poky-linux-gnueabi/mutter-2.28.1+git0+c96345dd81176f171c2d15dd9d5c5b20f334f842-r18/git/src/wm-tester' make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/intel/poky/distro/build/tmp/work/armv5te-poky-linux-gnueabi/mutter-2.28.1+git0+c96345dd81176f171c2d15dd9d5c5b20f334f842-r18/git/src' make[2]: *** [all] Error 2
make[2]: Leaving directory `/intel/poky/distro/build/tmp/work/armv5te-poky-linux-gnueabi/mutter-2.28.1+git0+c96345dd81176f171c2d15dd9d5c5b20f334f842-r18/git/src' make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/intel/poky/distro/build/tmp/work/armv5te-poky-linux-gnueabi/mutter-2.28.1+git0+c96345dd81176f171c2d15dd9d5c5b20f334f842-r18/git'
make: *** [all] Error 2
Please investigate,
Thanks
Quoted 27 lines
Pull URL:
git://git.pokylinux.org/poky-contrib.git
Branch: nitin/dso_linking_change
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/dso_linking_changeThanks,
Nitin A Kamble<[email protected]>
---Nitin A Kamble (3):
libmusicbrainz: revert thedso_linking_changepatch as the new linker
fixes it
libzypp: revert thedso_linking_changepatch as the new linker fixes
it
apt: revert thedso_linking_changepatch as the new linker fixes it.../apt-0.7.14/dso_linking_change_build_fix.patch | 25 ---------- meta/recipes-devtools/apt/apt_0.7.14.bb | 5 +- .../libzypp/dso_linking_change_build_fix.patch | 50 -------------------- meta/recipes-extended/libzypp/libzypp_git.bb | 5 +- .../dso_linking_change_build_fix.patch | 29 ----------- .../musicbrainz/libmusicbrainz_3.0.3.bb | 5 +- 6 files changed, 6 insertions(+), 113 deletions(-)delete mode 100644
meta/recipes-devtools/apt/apt-0.7.14/dso_linking_change_build_fix.patchdelete mode 100644meta/recipes-extended/libzypp/libzypp/dso_linking_change_build_fix.patchdelete mode 100644meta/recipes-multimedia/musicbrainz/libmusicbrainz-3.0.3/dso_linking_change_build_fix.patch
Hi Saul,
Quoted 26 lines · Saul Wold
Quoted 4 lines · Nitin A Kamble
The newer linker from binutils 2.21 has a fix which avoids linking errors with weak symbols like
pthread_cancel, when --no-add-as-needed parameter is passed to the linker.Nitin,
Seems there is a problem with Mutter and the DSO changes.
arm-poky-linux-gnueabi-libtool: link: cannot find the library
`/usr/lib/libpangocairo-1.0.la' or unhandled argument
`/usr/lib/libpangocairo-1.0.la'
make[4]: *** [wm-tester] Error 1
make[4]: Leaving directory `/intel/poky/distro/build/tmp/work/armv5te-poky-linux-gnueabi/mutter-2.28.1+git0+c96345dd81176f171c2d15dd9d5c5b20f334f842-r18/git/src/wm-tester' make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/intel/poky/distro/build/tmp/work/armv5te-poky-linux-gnueabi/mutter-2.28.1+git0+c96345dd81176f171c2d15dd9d5c5b20f334f842-r18/git/src' make[2]: *** [all] Error 2
make[2]: Leaving directory `/intel/poky/distro/build/tmp/work/armv5te-poky-linux-gnueabi/mutter-2.28.1+git0+c96345dd81176f171c2d15dd9d5c5b20f334f842-r18/git/src' make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/intel/poky/distro/build/tmp/work/armv5te-poky-linux-gnueabi/mutter-2.28.1+git0+c96345dd81176f171c2d15dd9d5c5b20f334f842-r18/git'
make: *** [all] Error 2
Quoted 1 line
Please investigate,
This looks more like a libtool issue, possibly introduced by the recent libtool changes. I think this happens in an incremental build when you have half a sysroot of "old" style libs and mix in the new style. I suspect Scott mainly tested those from scratch. Does a cleanall of pango/cairo fix this? If so, we probably need to bump the version number that governs sysroots (and the sstate version number too).
Cheers,
Richard
Quoted 27 lines · Nitin A Kamble
The newer linker from binutils 2.21 has a fix which avoids linking errors with weak symbols like
pthread_cancel, when --no-add-as-needed parameter is passed to the linker.Pull URL:
git://git.pokylinux.org/poky-contrib.git
Branch: nitin/dso_linking_change
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/dso_linking_changeThanks,
Nitin A Kamble<[email protected]>
---Nitin A Kamble (3):
libmusicbrainz: revert thedso_linking_changepatch as the new linker
fixes it
libzypp: revert thedso_linking_changepatch as the new linker fixes
it
apt: revert thedso_linking_changepatch as the new linker fixes it.../apt-0.7.14/dso_linking_change_build_fix.patch | 25 ---------- meta/recipes-devtools/apt/apt_0.7.14.bb | 5 +- .../libzypp/dso_linking_change_build_fix.patch | 50 -------------------- meta/recipes-extended/libzypp/libzypp_git.bb | 5 +- .../dso_linking_change_build_fix.patch | 29 ----------- .../musicbrainz/libmusicbrainz_3.0.3.bb | 5 +- 6 files changed, 6 insertions(+), 113 deletions(-)
Quoted 4 lines
delete mode 100644
meta/recipes-devtools/apt/apt-0.7.14/dso_linking_change_build_fix.patchdelete mode 100644meta/recipes-extended/libzypp/libzypp/dso_linking_change_build_fix.patchdelete mode 100644meta/recipes-multimedia/musicbrainz/libmusicbrainz-3.0.3/dso_linking_change_build_fix.patch
Pulled into Master
Thanks
Sau!