aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin Bronder <jsbronder@cold-front.org>2022-08-31 19:55:32 -0400
committerArmin Kuster <akuster808@gmail.com>2022-09-04 07:52:16 -0400
commit8f96c05f6d82fde052f2cb1652c13922814accb0 (patch)
tree0e5d5fe74c8465be057462c1a59113653648b60a
parentcaa117e5ccd68ca5b472e0ffb0aac6a359d4c06a (diff)
downloadmeta-openembedded-contrib-8f96c05f6d82fde052f2cb1652c13922814accb0.tar.gz
lmdb: only set SONAME on the shared library
Setting soname in LDFLAGS means that the extra mdb tools also incorrectly get soname set. This then triggers package.bbclass to add a duplicate shlib_provider in /usr/bin for liblmdb.so.0.9.29. Then any other recipe depending on liblmdb is going to get a 'Multiple shlib provider' error. shlibs2/lmdb.list before: liblmdb.so.0.9.29:/usr/bin:0.9.29 liblmdb.so.0.9.29:/usr/lib:0.9.29 shlibs2/lmdb.list after: liblmdb.so.0.9.29:/usr/lib:0.9.29 Signed-off-by: Justin Bronder <jsbronder@cold-front.org> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch22
-rw-r--r--meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb3
2 files changed, 23 insertions, 2 deletions
diff --git a/meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch b/meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch
new file mode 100644
index 0000000000..312809d1d2
--- /dev/null
+++ b/meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch
@@ -0,0 +1,22 @@
+From b4d418bf3f78748d84e3cfb110833443eef34284 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@cold-front.org>
+Date: Thu, 25 Aug 2022 17:22:20 -0400
+Subject: [PATCH] make: set soname on liblmdb
+
+---
+ libraries/liblmdb/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile
+index 1ec74e6..ea08cd6 100644
+--- a/libraries/liblmdb/Makefile
++++ b/libraries/liblmdb/Makefile
+@@ -66,7 +66,7 @@ liblmdb.a: mdb.o midl.o
+
+ liblmdb$(SOEXT): mdb.lo midl.lo
+ # $(CC) $(LDFLAGS) -pthread -shared -Wl,-Bsymbolic -o $@ mdb.o midl.o $(SOLIBS)
+- $(CC) $(LDFLAGS) -pthread -shared -o $@ mdb.lo midl.lo $(SOLIBS)
++ $(CC) $(LDFLAGS) -pthread -shared -Wl,-soname,$@ -o $@ mdb.lo midl.lo $(SOLIBS)
+
+ mdb_stat: mdb_stat.o liblmdb.a
+ mdb_copy: mdb_copy.o liblmdb.a
diff --git a/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb b/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
index b58a36c446..f23960f40a 100644
--- a/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
+++ b/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
@@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972"
SRC_URI = "git://github.com/LMDB/lmdb.git;nobranch=1;protocol=https \
file://run-ptest \
file://0001-Makefile-use-libprefix-instead-of-libdir.patch \
+ file://0001-make-set-soname-on-liblmdb.patch;patchdir=../.. \
"
SRCREV = "8ad7be2510414b9506ec9f9e24f24d04d9b04a1a"
@@ -19,8 +20,6 @@ inherit base ptest
S = "${WORKDIR}/git/libraries/liblmdb"
-LDFLAGS += "-Wl,-soname,lib${PN}.so.${PV}"
-
do_compile() {
oe_runmake CC="${CC}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}"
}