libzypp: 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 <nitin.a.kamble@intel.com>
This commit is contained in:
Nitin A Kamble 2011-01-18 17:21:41 -08:00 committed by Richard Purdie
parent a849ef5f24
commit cff67292a2
2 changed files with 53 additions and 2 deletions

View File

@ -0,0 +1,50 @@
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: <20>: 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 <nitin.a.kamble@intel.com>
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 )

View File

@ -13,11 +13,12 @@ RDEPENDS_${PN} = "sat-solver"
S = "${WORKDIR}/git"
PV = "0.0-git${SRCPV}"
PR = "r4"
PR = "r5"
SRC_URI = "git://gitorious.org/opensuse/libzypp.git;protocol=git \
file://no-doc.patch \
file://rpm5.patch"
file://rpm5.patch \
file://dso_linking_change_build_fix.patch"
SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"