summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNitin A Kamble <nitin.a.kamble@intel.com>2011-01-17 13:58:19 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-20 21:37:02 +0000
commit59986bd748e9843ea347dc9e5a30222878ea087e (patch)
tree10aa2fc0aabd0610602701fb1fe6a72e67538831
parent95fc6ae1649c86b5c2686385772cda35f5e7631f (diff)
downloadpoky-59986bd748e9843ea347dc9e5a30222878ea087e.tar.gz
sat-solver: fix the build failure caused by gcc dso linkcing change
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>
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver/dso_linking_change_build_fix.patch31
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver_git.bb5
2 files changed, 34 insertions, 2 deletions
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
index 0000000000..7aeee29c98
--- /dev/null
+++ b/meta/recipes-extended/sat-solver/sat-solver/dso_linking_change_build_fix.patch
@@ -0,0 +1,31 @@
1After adding dso patch to gcc, the linking of libraries has to be explicit.
2Following error caused by dso patch is fixed for this patch.
3
4| make[2]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/sat-solver-0.0-git0+aa799f7bae0ec055e0e527203635001bb7346dbc-r1/git'^M
5| Linking C executable findfileconflicts^M
6| 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
7| /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
8| /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
9| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/librpmmisc-5.0.so: could not read symbols: Bad value^M
10| collect2: ld returned 1 exit status^M
11| make[2]: *** [tools/findfileconflicts] Error 1^M
12
13Nitin A Kamble <nitin.a.kamble@intel.com>
14Date: 2011/01/11
15
16
17Index: git/CMakeLists.txt
18===================================================================
19--- git.orig/CMakeLists.txt
20+++ git/CMakeLists.txt
21@@ -63,6 +63,10 @@ FIND_LIBRARY(RPMIO_LIBRARY NAMES rpmio)
22 IF ( RPMIO_LIBRARY )
23 SET( RPMDB_LIBRARY ${RPMIO_LIBRARY} ${RPMDB_LIBRARY} )
24 ENDIF ( RPMIO_LIBRARY )
25+FIND_LIBRARY(RPMMISC_LIBRARY NAMES rpmmisc)
26+IF ( RPMMISC_LIBRARY )
27+SET( RPMDB_LIBRARY ${RPMMISC_LIBRARY} ${RPMDB_LIBRARY} )
28+ENDIF ( RPMMISC_LIBRARY )
29 IF ( FEDORA )
30 FIND_LIBRARY(DB_LIBRARY NAMES db)
31 IF ( DB_LIBRARY )
diff --git a/meta/recipes-extended/sat-solver/sat-solver_git.bb b/meta/recipes-extended/sat-solver/sat-solver_git.bb
index db368b1e1e..2e5f151608 100644
--- a/meta/recipes-extended/sat-solver/sat-solver_git.bb
+++ b/meta/recipes-extended/sat-solver/sat-solver_git.bb
@@ -7,11 +7,12 @@ LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
7DEPENDS = "libcheck rpm zlib expat" 7DEPENDS = "libcheck rpm zlib expat"
8 8
9PV = "0.0-git${SRCPV}" 9PV = "0.0-git${SRCPV}"
10PR = "r1" 10PR = "r2"
11 11
12SRC_URI = "git://gitorious.org/opensuse/sat-solver.git;protocol=git \ 12SRC_URI = "git://gitorious.org/opensuse/sat-solver.git;protocol=git \
13 file://cmake.patch \ 13 file://cmake.patch \
14 file://rpm5.patch" 14 file://rpm5.patch \
15 file://dso_linking_change_build_fix.patch"
15 16
16S = "${WORKDIR}/git" 17S = "${WORKDIR}/git"
17 18