diff mbox series

[1/1] package/lmdb: fix static build

Message ID 20240520080706.32223-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/1] package/lmdb: fix static build | expand

Commit Message

Fabrice Fontaine May 20, 2024, 8:07 a.m. UTC
Fix the following static build failure raised since the addition of the
package in commit eb60c4054c25129d78651a66d1e7554aff04767f:

__uClibc_main.c:(.text+0x15c): undefined reference to `__fini_array_start'

Fixes: eb60c4054c25129d78651a66d1e7554aff04767f
 - http://autobuild.buildroot.org/results/e2bc8c35a10b6513c5605954e93b5b8a1ec7654b

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/lmdb/lmdb.mk | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

Comments

Yann E. MORIN May 21, 2024, 4:56 a.m. UTC | #1
Fabrice, All,

On 2024-05-20 10:07 +0200, Fabrice Fontaine spake thusly:
> Fix the following static build failure raised since the addition of the
> package in commit eb60c4054c25129d78651a66d1e7554aff04767f:
> 
> __uClibc_main.c:(.text+0x15c): undefined reference to `__fini_array_start'
> 
> Fixes: eb60c4054c25129d78651a66d1e7554aff04767f
>  - http://autobuild.buildroot.org/results/e2bc8c35a10b6513c5605954e93b5b8a1ec7654b
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>  package/lmdb/lmdb.mk | 16 +++++++++++++---
>  1 file changed, 13 insertions(+), 3 deletions(-)
> 
> diff --git a/package/lmdb/lmdb.mk b/package/lmdb/lmdb.mk
> index dafe7332cb..13e3235267 100644
> --- a/package/lmdb/lmdb.mk
> +++ b/package/lmdb/lmdb.mk
> @@ -10,21 +10,31 @@ LMDB_LICENSE = OLDAP-2.8
>  LMDB_LICENSE_FILES = libraries/liblmdb/LICENSE
>  LMDB_INSTALL_STAGING = YES
>  
> +ifeq ($(BR2_STATIC_LIBS),y)
> +LMBD_ILBIBS += liblmdb.a
> +else ifeq ($(BR2_SHARED_LIBS),y)
> +LMBD_ILBIBS += liblmdb.so
> +else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
> +LMBD_ILBIBS +=  liblmdb.a liblmdb.so
> +endif

    $ ./utils/docker-run make check-package
    package/lmdb/lmdb.mk:14: possible typo: LMBD_ILBIBS -> *LMDB*
    package/lmdb/lmdb.mk:16: possible typo: LMBD_ILBIBS -> *LMDB*
    package/lmdb/lmdb.mk:18: possible typo: LMBD_ILBIBS -> *LMDB*

> +LMDB_MAKE_OPTS += ILIBS="$(LMBD_ILBIBS)"

Since I had to fix the LMBD typo, I also dropped LMDB_MAKE_OPTS, because
it is not the whole of the make options anyway (missing XCFLAGS), and I
directly passed ILIBS along XCFLAGS, below.

Applied to master, thanks.

Regards,
Yann E. MORIN.

>  define LMDB_BUILD_CMDS
>  	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)/libraries/liblmdb \
> -		XCFLAGS="$(TARGET_CFLAGS)"
> +		$(LMDB_MAKE_OPTS) XCFLAGS="$(TARGET_CFLAGS)"
>  endef
>  
>  define LMDB_INSTALL_STAGING_CMDS
>  	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libraries/liblmdb \
> -		DESTDIR="$(STAGING_DIR)" \
> +		$(LMDB_MAKE_OPTS) DESTDIR="$(STAGING_DIR)" \
>  		prefix=/usr \
>  		install
>  endef
>  
>  define LMDB_INSTALL_TARGET_CMDS
>  	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libraries/liblmdb \
> -		DESTDIR="$(TARGET_DIR)" \
> +		$(LMDB_MAKE_OPTS) DESTDIR="$(TARGET_DIR)" \
>  		prefix=/usr \
>  		install
>  endef
> -- 
> 2.43.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/lmdb/lmdb.mk b/package/lmdb/lmdb.mk
index dafe7332cb..13e3235267 100644
--- a/package/lmdb/lmdb.mk
+++ b/package/lmdb/lmdb.mk
@@ -10,21 +10,31 @@  LMDB_LICENSE = OLDAP-2.8
 LMDB_LICENSE_FILES = libraries/liblmdb/LICENSE
 LMDB_INSTALL_STAGING = YES
 
+ifeq ($(BR2_STATIC_LIBS),y)
+LMBD_ILBIBS += liblmdb.a
+else ifeq ($(BR2_SHARED_LIBS),y)
+LMBD_ILBIBS += liblmdb.so
+else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
+LMBD_ILBIBS +=  liblmdb.a liblmdb.so
+endif
+
+LMDB_MAKE_OPTS += ILIBS="$(LMBD_ILBIBS)"
+
 define LMDB_BUILD_CMDS
 	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)/libraries/liblmdb \
-		XCFLAGS="$(TARGET_CFLAGS)"
+		$(LMDB_MAKE_OPTS) XCFLAGS="$(TARGET_CFLAGS)"
 endef
 
 define LMDB_INSTALL_STAGING_CMDS
 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libraries/liblmdb \
-		DESTDIR="$(STAGING_DIR)" \
+		$(LMDB_MAKE_OPTS) DESTDIR="$(STAGING_DIR)" \
 		prefix=/usr \
 		install
 endef
 
 define LMDB_INSTALL_TARGET_CMDS
 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libraries/liblmdb \
-		DESTDIR="$(TARGET_DIR)" \
+		$(LMDB_MAKE_OPTS) DESTDIR="$(TARGET_DIR)" \
 		prefix=/usr \
 		install
 endef