diff mbox series

[1/1] package/libdex: needs dynamic library

Message ID 20240726082754.891552-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/1] package/libdex: needs dynamic library | expand

Commit Message

Fabrice Fontaine July 26, 2024, 8:27 a.m. UTC
Fix the following static build failure raised since the addition of the
package in commit 70319b47f646f74f407ed3355baf5b581a10518a:

FAILED: src/libdex-1.so.1.0.0
/home/autobuild/autobuild/instance-11/output-1/host/bin/mips-buildroot-linux-musl-gcc  -o src/libdex-1.so.1.0.0  -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libdex-1.so.1 -Wl,--whole-archive src/libdex-1.a -Wl,--no-whole-archive -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -Wl,-Bsymbolic -fno-plt -static -lucontext -latomic /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libgio-2.0.a /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libgobject-2.0.a /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libffi.a /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libgmodule-2.0.a /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libglib-2.0.a /home/autobuild/autobuild/instance-11/output-1/host/lib/gcc/mips-buildroot-linux-musl/13.3.
 0/../../../../mips-buildroot-linux-musl/lib/libatomic.a -lm -pthread /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libpcre2-8.a /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libz.a -latomic -Wl,--end-group
/home/autobuild/autobuild/instance-11/output-1/host/lib/gcc/mips-buildroot-linux-musl/13.3.0/crtbeginT.o: in function `deregister_tm_clones':
crtstuff.c:(.text+0x10): relocation R_MIPS_HI16 against `__gnu_local_gp' cannot be used when making a shared object; recompile with -fPIC

Fixes: 70319b47f646f74f407ed3355baf5b581a10518a
 - http://autobuild.buildroot.org/results/f527cab99141ecbbbd13c12177a2cc8903bed3a4

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/libdex/Config.in  | 4 +++-
 package/sysprof/Config.in | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

Comments

Thomas Petazzoni July 29, 2024, 9:17 p.m. UTC | #1
Hello Fabrice,

On Fri, 26 Jul 2024 10:27:54 +0200
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> Fix the following static build failure raised since the addition of the
> package in commit 70319b47f646f74f407ed3355baf5b581a10518a:
> 
> FAILED: src/libdex-1.so.1.0.0
> /home/autobuild/autobuild/instance-11/output-1/host/bin/mips-buildroot-linux-musl-gcc  -o src/libdex-1.so.1.0.0  -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libdex-1.so.1 -Wl,--whole-archive src/libdex-1.a -Wl,--no-whole-archive -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -Wl,-Bsymbolic -fno-plt -static -lucontext -latomic /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libgio-2.0.a /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libgobject-2.0.a /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libffi.a /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libgmodule-2.0.a /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libglib-2.0.a /home/autobuild/autobuild/instance-11/output-1/host/lib/gcc/mips-buildroot-linux-musl/13.
 3.
>  0/../../../../mips-buildroot-linux-musl/lib/libatomic.a -lm -pthread /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libpcre2-8.a /home/autobuild/autobuild/instance-11/output-1/host/mips-buildroot-linux-musl/sysroot/usr/lib/libz.a -latomic -Wl,--end-group
> /home/autobuild/autobuild/instance-11/output-1/host/lib/gcc/mips-buildroot-linux-musl/13.3.0/crtbeginT.o: in function `deregister_tm_clones':
> crtstuff.c:(.text+0x10): relocation R_MIPS_HI16 against `__gnu_local_gp' cannot be used when making a shared object; recompile with -fPIC
> 
> Fixes: 70319b47f646f74f407ed3355baf5b581a10518a
>  - http://autobuild.buildroot.org/results/f527cab99141ecbbbd13c12177a2cc8903bed3a4
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>  package/libdex/Config.in  | 4 +++-
>  package/sysprof/Config.in | 2 +-
>  2 files changed, 4 insertions(+), 2 deletions(-)

I've applied, but considering that this is a meson-based package, it
should not be that difficult for upstream to properly support shared or
static build. Perhaps a bug report to submit upstream?

Thanks!

Thomas
diff mbox series

Patch

diff --git a/package/libdex/Config.in b/package/libdex/Config.in
index 5f94a79b73..17abc0b02a 100644
--- a/package/libdex/Config.in
+++ b/package/libdex/Config.in
@@ -3,6 +3,7 @@  config BR2_PACKAGE_LIBDEX
 	depends on BR2_USE_MMU # libglib2
 	depends on BR2_USE_WCHAR # libglib2, gettext
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+	depends on !BR2_STATIC_LIBS
 	depends on BR2_TOOLCHAIN_HAS_UCONTEXT || \
 		BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS
 	select BR2_PACKAGE_LIBGLIB2
@@ -16,8 +17,9 @@  config BR2_PACKAGE_LIBDEX
 
 	  https://gitlab.gnome.org/GNOME/libdex
 
-comment "libdex needs a toolchain w/ wchar, threads, ucontext"
+comment "libdex needs a toolchain w/ wchar, threads, dynamic library, ucontext"
 	depends on BR2_USE_MMU
 	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+		BR2_STATIC_LIBS || \
 		!(BR2_TOOLCHAIN_HAS_UCONTEXT || \
 			BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS)
diff --git a/package/sysprof/Config.in b/package/sysprof/Config.in
index 32a5f99798..a4f53a1179 100644
--- a/package/sysprof/Config.in
+++ b/package/sysprof/Config.in
@@ -5,7 +5,7 @@  config BR2_PACKAGE_SYSPROF
 	depends on BR2_USE_MMU # glib2, libdex, json-glib
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libunwind, polkit
 	depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
-	depends on !BR2_STATIC_LIBS # libunwind, polkit
+	depends on !BR2_STATIC_LIBS # libdex, libunwind, polkit
 	depends on !BR2_OPTIMIZE_FAST # polkit
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_12