All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH] lmdb: only set SONAME on the shared library
@ 2022-08-25 22:02 Justin Bronder
  0 siblings, 0 replies; only message in thread
From: Justin Bronder @ 2022-08-25 22:02 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Justin Bronder

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>
---
 .../0001-make-set-soname-on-liblmdb.patch     | 22 +++++++++++++++++++
 meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb       |  3 +--
 2 files changed, 23 insertions(+), 2 deletions(-)
 create mode 100644 meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch

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 0590ce008c..a76d388d70 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 ptest
 
 S = "${WORKDIR}/git/libraries/liblmdb"
 
-LDFLAGS += "-Wl,-soname,lib${PN}.so.${PV}"
-
 do_compile() {
     oe_runmake CC="${CC}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}"
 }
-- 
2.37.1



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2022-08-25 22:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-25 22:02 [meta-oe][PATCH] lmdb: only set SONAME on the shared library Justin Bronder

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.