From 746173daad9fbd46dc7917b1423855d1997782c1 Mon Sep 17 00:00:00 2001 From: Nitin A Kamble Date: Wed, 19 Jan 2011 09:19:27 -0800 Subject: zypper: fix build issue with gcc dso linking change All the libraries needs to be specified explicitely with the new gcc dso linking change patch. This was causing build errors for this recipe. Specifying the libpthread library explicitely for linking to work without errors. Signed-off-by: Nitin A Kamble --- .../zypper/dso_linking_change_build_fix.patch | 58 ++++++++++++++++++++++ meta/recipes-extended/zypper/zypper_git.bb | 4 +- 2 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-extended/zypper/zypper/dso_linking_change_build_fix.patch (limited to 'meta/recipes-extended/zypper') diff --git a/meta/recipes-extended/zypper/zypper/dso_linking_change_build_fix.patch b/meta/recipes-extended/zypper/zypper/dso_linking_change_build_fix.patch new file mode 100644 index 0000000000..0da196f5be --- /dev/null +++ b/meta/recipes-extended/zypper/zypper/dso_linking_change_build_fix.patch @@ -0,0 +1,58 @@ +after gcc linking has changed, all the libraries must be explicitely specified +This patch avoids these linking errors: + +| Linking CXX executable zypp-refresh +| cd /build_disk/poky_build/build0/tmp/work/i586-poky-linux/zypper-1.4.7-git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r2/git/src && /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/zypp-refresh.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 -g -O2 -Wall -Woverloaded-virtual -fstack-protector -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed CMakeFiles/zypp-refresh.dir/zypp-refresh.cc.o -o zypp-refresh -rdynamic -lzypp +| /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]: *** [src/zypp-refresh] Error 1 +| make[2]: Leaving directory `/build_disk/poky_build/build0/tmp/work/i586-poky-linux/zypper-1.4.7-git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r2/git' +| make[1]: *** [src/CMakeFiles/zypp-refresh.dir/all] Error 2 + + +| Linking CXX executable zypper +| cd /build_disk/poky_build/build0/tmp/work/i586-poky-linux/zypper-1.4.7-git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r3/git/src && /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/zypper.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 -g -O2 -Wall -Woverloaded-virtual -fstack-protector -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed CMakeFiles/zypper.dir/main.cc.o -o zypper -rdynamic libzypper_lib.a -lzypp -lreadline -laugeas -laugeas +| /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]: *** [src/zypper] Error 1 + + +| Linking CXX executable zypper +| cd /build_disk/poky_build/build0/tmp/work/i586-poky-linux/zypper-1.4.7-git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r3/git/src && /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/zypper.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 -g -O2 -Wall -Woverloaded-virtual -fstack-protector -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed CMakeFiles/zypper.dir/main.cc.o -o zypper -rdynamic libzypper_lib.a -lzypp -lreadline -laugeas -laugeas -lpthread +| /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 `clock_gettime@@GLIBC_2.2' definition +| /build_disk/poky_build/build0/tmp/sysroots/i586-poky-linux/lib/librt.so.1: could not read symbols: Bad value +| collect2: ld returned 1 exit status +| make[2]: *** [src/zypper] Error 1 + + +Nitin A Kamble +Date: 2011/01/19 + + +Index: git/src/CMakeLists.txt +=================================================================== +--- git.orig/src/CMakeLists.txt 2010-12-20 00:02:02.000000000 -0800 ++++ git/src/CMakeLists.txt 2011-01-19 09:23:13.432758255 -0800 +@@ -93,7 +93,7 @@ + TARGET_LINK_LIBRARIES( zypper_lib ${ZYPP_LIBRARY} ${READLINE_LIBRARY} -laugeas ${AUGEAS_LIBRARY} ) + + ADD_EXECUTABLE( zypper main.cc ) +-TARGET_LINK_LIBRARIES( zypper zypper_lib ${ZYPP_LIBRARY} ${READLINE_LIBRARY} -laugeas ${AUGEAS_LIBRARY} ) ++TARGET_LINK_LIBRARIES( zypper zypper_lib ${ZYPP_LIBRARY} ${READLINE_LIBRARY} -laugeas ${AUGEAS_LIBRARY} pthread rt ) + + + INSTALL( +@@ -115,7 +115,7 @@ + + # zypp-refresh utility + ADD_EXECUTABLE( zypp-refresh zypp-refresh.cc ) +-TARGET_LINK_LIBRARIES( zypp-refresh ${ZYPP_LIBRARY} ) ++TARGET_LINK_LIBRARIES( zypp-refresh ${ZYPP_LIBRARY} pthread ) + INSTALL( + TARGETS zypp-refresh + RUNTIME DESTINATION ${INSTALL_PREFIX}/sbin diff --git a/meta/recipes-extended/zypper/zypper_git.bb b/meta/recipes-extended/zypper/zypper_git.bb index c8895e5806..b9e2e85943 100644 --- a/meta/recipes-extended/zypper/zypper_git.bb +++ b/meta/recipes-extended/zypper/zypper_git.bb @@ -6,13 +6,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3201406e350b39e05a82e28b5020f413" DEPENDS = "libzypp augeas" RRECOMMENDS_${PN} = "procps" -PR = "r2" +PR = "r3" inherit cmake SRC_URI = "git://gitorious.org/opensuse/zypper.git;protocol=git \ file://cmake.patch \ - " + file://dso_linking_change_build_fix.patch " S = "${WORKDIR}/git" PV = "1.4.7-git${SRCPV}" -- cgit v1.2.3-54-g00ecf