]> code.ossystems Code Review - openembedded-core.git/commitdiff
sat-solver: fix the build failure caused by gcc dso linkcing change
authorNitin A Kamble <nitin.a.kamble@intel.com>
Mon, 17 Jan 2011 21:58:19 +0000 (13:58 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 20 Jan 2011 21:37:02 +0000 (21:37 +0000)
The libraries for linking are not determined automatically now. All
the needed libraries must be specified explicitly.

This patch fixes the issue for missing librpmmisc library in the linker
script.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
meta/recipes-extended/sat-solver/sat-solver/dso_linking_change_build_fix.patch [new file with mode: 0644]
meta/recipes-extended/sat-solver/sat-solver_git.bb

diff --git a/meta/recipes-extended/sat-solver/sat-solver/dso_linking_change_build_fix.patch b/meta/recipes-extended/sat-solver/sat-solver/dso_linking_change_build_fix.patch
new file mode 100644 (file)
index 0000000..7aeee29
--- /dev/null
@@ -0,0 +1,31 @@
+After adding dso patch to gcc, the linking of libraries has to be explicit.
+Following error caused by dso patch is fixed for this patch.
+
+| make[2]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/sat-solver-0.0-git0+aa799f7bae0ec055e0e527203635001bb7346dbc-r1/git'^M
+| Linking C executable findfileconflicts^M
+| cd /disk0/pokybuild/build1/tmp/work/i586-poky-linux/sat-solver-0.0-git0+aa799f7bae0ec055e0e527203635001bb7346dbc-r1/git/tools && /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/findfileconflicts.dir/link.txt --verbose=1^M
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/i586-poky-linux-gcc  -march=i586  --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux  -Werror -Wall  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed CMakeFiles/findfileconflicts.dir/findfileconflicts.o  -o findfileconflicts -rdynamic ../ext/libsatsolverext.a ../src/libsatsolver.a -lrpmio -lrpmdb^M
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: [: invalid DSO for symbol `db_env_create_rpmdb@@LIBRPMMISC_0' definition^M
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/librpmmisc-5.0.so: could not read symbols: Bad value^M
+| collect2: ld returned 1 exit status^M
+| make[2]: *** [tools/findfileconflicts] Error 1^M
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/11
+
+
+Index: git/CMakeLists.txt
+===================================================================
+--- git.orig/CMakeLists.txt
++++ git/CMakeLists.txt
+@@ -63,6 +63,10 @@ FIND_LIBRARY(RPMIO_LIBRARY NAMES rpmio)
+ IF ( RPMIO_LIBRARY )
+ SET( RPMDB_LIBRARY ${RPMIO_LIBRARY} ${RPMDB_LIBRARY} )
+ ENDIF ( RPMIO_LIBRARY )
++FIND_LIBRARY(RPMMISC_LIBRARY NAMES rpmmisc)
++IF ( RPMMISC_LIBRARY )
++SET( RPMDB_LIBRARY ${RPMMISC_LIBRARY} ${RPMDB_LIBRARY} )
++ENDIF ( RPMMISC_LIBRARY )
+ IF ( FEDORA )
+ FIND_LIBRARY(DB_LIBRARY NAMES db)
+ IF ( DB_LIBRARY )
index db368b1e1e31e5023077ed91e5502d9b5eecd234..2e5f151608675f96965298e4bd0f3eb86e16a472 100644 (file)
@@ -7,11 +7,12 @@ LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
 DEPENDS = "libcheck rpm zlib expat"
 
 PV = "0.0-git${SRCPV}"
-PR = "r1"
+PR = "r2"
 
 SRC_URI = "git://gitorious.org/opensuse/sat-solver.git;protocol=git \
            file://cmake.patch \
-           file://rpm5.patch"
+           file://rpm5.patch \
+           file://dso_linking_change_build_fix.patch"
 
 S = "${WORKDIR}/git"