diff mbox series

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

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

Commit Message

Fabrice Fontaine March 18, 2024, 9:41 p.m. UTC
Fix the following static build failure raised since bump to version 0.18
in commit 136d4dfbe6126b5ed20237c571f599dfc163d110:

/home/autobuild/autobuild/instance-0/output-1/host/bin/arceb-buildroot-linux-uclibc-gcc  -o src/libpciaccess.so.0.11.1 src/libpciaccess.so.0.11.1.p/common_bridge.c.o src/libpciaccess.so.0.11.1.p/common_iterator.c.o src/libpciaccess.so.0.11.1.p/common_init.c.o src/libpciaccess.so.0.11.1.p/common_interface.c.o src/libpciaccess.so.0.11.1.p/common_io.c.o src/libpciaccess.so.0.11.1.p/common_capability.c.o src/libpciaccess.so.0.11.1.p/common_device_name.c.o src/libpciaccess.so.0.11.1.p/common_map.c.o src/libpciaccess.so.0.11.1.p/linux_sysfs.c.o src/libpciaccess.so.0.11.1.p/linux_devmem.c.o src/libpciaccess.so.0.11.1.p/common_vgaarb.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libpciaccess.so.0 -static /home/autobuild/autobuild/instance-0/output-1/host/arceb-buildroot-linux-uclibc/sysroot/usr/lib/libz.a -Wl,--end-group
/home/autobuild/autobuild/instance-0/output-1/host/lib/gcc/arceb-buildroot-linux-uclibc/11.4.0/../../../../arceb-buildroot-linux-uclibc/bin/ld: /home/autobuild/autobuild/instance-0/output-1/host/lib/gcc/arceb-buildroot-linux-uclibc/11.4.0/crtbeginT.o: relocation R_ARC_32_ME against `__TMC_END__' can not be used when making a shared object; recompile with -fPIC

Fixes: 136d4dfbe6126b5ed20237c571f599dfc163d110
 - http://autobuild.buildroot.org/results/7604706f4f4ab96a485a1dabe7cb4c98a2ef27d4

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 ...lding-static-library-not-just-shared.patch | 48 +++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 package/libpciaccess/0001-meson-allow-building-static-library-not-just-shared.patch

Comments

Arnout Vandecappelle March 23, 2024, 8:36 p.m. UTC | #1
On 18/03/2024 22:41, Fabrice Fontaine wrote:
> Fix the following static build failure raised since bump to version 0.18
> in commit 136d4dfbe6126b5ed20237c571f599dfc163d110:
> 
> /home/autobuild/autobuild/instance-0/output-1/host/bin/arceb-buildroot-linux-uclibc-gcc  -o src/libpciaccess.so.0.11.1 src/libpciaccess.so.0.11.1.p/common_bridge.c.o src/libpciaccess.so.0.11.1.p/common_iterator.c.o src/libpciaccess.so.0.11.1.p/common_init.c.o src/libpciaccess.so.0.11.1.p/common_interface.c.o src/libpciaccess.so.0.11.1.p/common_io.c.o src/libpciaccess.so.0.11.1.p/common_capability.c.o src/libpciaccess.so.0.11.1.p/common_device_name.c.o src/libpciaccess.so.0.11.1.p/common_map.c.o src/libpciaccess.so.0.11.1.p/linux_sysfs.c.o src/libpciaccess.so.0.11.1.p/linux_devmem.c.o src/libpciaccess.so.0.11.1.p/common_vgaarb.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libpciaccess.so.0 -static /home/autobuild/autobuild/instance-0/output-1/host/arceb-buildroot-linux-uclibc/sysroot/usr/lib/libz.a -Wl,--end-group
> /home/autobuild/autobuild/instance-0/output-1/host/lib/gcc/arceb-buildroot-linux-uclibc/11.4.0/../../../../arceb-buildroot-linux-uclibc/bin/ld: /home/autobuild/autobuild/instance-0/output-1/host/lib/gcc/arceb-buildroot-linux-uclibc/11.4.0/crtbeginT.o: relocation R_ARC_32_ME against `__TMC_END__' can not be used when making a shared object; recompile with -fPIC
> 
> Fixes: 136d4dfbe6126b5ed20237c571f599dfc163d110
>   - http://autobuild.buildroot.org/results/7604706f4f4ab96a485a1dabe7cb4c98a2ef27d4
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

  Applied to master, thanks.

  Regards,
  Arnout

> ---
>   ...lding-static-library-not-just-shared.patch | 48 +++++++++++++++++++
>   1 file changed, 48 insertions(+)
>   create mode 100644 package/libpciaccess/0001-meson-allow-building-static-library-not-just-shared.patch
> 
> diff --git a/package/libpciaccess/0001-meson-allow-building-static-library-not-just-shared.patch b/package/libpciaccess/0001-meson-allow-building-static-library-not-just-shared.patch
> new file mode 100644
> index 0000000000..df1b4b415a
> --- /dev/null
> +++ b/package/libpciaccess/0001-meson-allow-building-static-library-not-just-shared.patch
> @@ -0,0 +1,48 @@
> +From ad7e9cb4b291a46812eea321f0634cfc46fb94e2 Mon Sep 17 00:00:00 2001
> +From: Alan Coopersmith <alan.coopersmith@oracle.com>
> +Date: Thu, 14 Mar 2024 13:55:55 -0700
> +Subject: [PATCH] meson: allow building static library, not just shared
> +
> +Lets builders specify -Ddefault_library={shared,static,both}
> +to control which types of libpciaccess library are built
> +
> +Closes: #20
> +Reported-by: Maxime Gauduin (@alucryd)
> +Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
> +
> +Upstream: https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/commit/ad7e9cb4b291a46812eea321f0634cfc46fb94e2
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +---
> + .gitlab-ci.yml  | 2 +-
> + src/meson.build | 2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> +index bcb75cf..185edc2 100644
> +--- a/.gitlab-ci.yml
> ++++ b/.gitlab-ci.yml
> +@@ -91,7 +91,7 @@ meson:
> +       - MESON_OPTIONS: ['-Dzlib=disabled', '-Dzlib=enabled']
> +   script:
> +     - mkdir -p ../_inst
> +-    - meson setup builddir --prefix="$PWD/../_inst" -Dwarning_level=3 $MESON_OPTIONS
> ++    - meson setup builddir --prefix="$PWD/../_inst" -Dwarning_level=3 -Ddefault_library=both $MESON_OPTIONS
> +     - meson configure builddir
> +     - ninja -C builddir test
> +     - ninja -C builddir install
> +diff --git a/src/meson.build b/src/meson.build
> +index 24eee04..e319688 100644
> +--- a/src/meson.build
> ++++ b/src/meson.build
> +@@ -38,7 +38,7 @@ endif
> +
> + inc_src = include_directories('.')
> +
> +-libpciaccess = shared_library(
> ++libpciaccess = library(
> +   'pciaccess',
> +   [
> +     'common_bridge.c',
> +--
> +GitLab
> +
diff mbox series

Patch

diff --git a/package/libpciaccess/0001-meson-allow-building-static-library-not-just-shared.patch b/package/libpciaccess/0001-meson-allow-building-static-library-not-just-shared.patch
new file mode 100644
index 0000000000..df1b4b415a
--- /dev/null
+++ b/package/libpciaccess/0001-meson-allow-building-static-library-not-just-shared.patch
@@ -0,0 +1,48 @@ 
+From ad7e9cb4b291a46812eea321f0634cfc46fb94e2 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Thu, 14 Mar 2024 13:55:55 -0700
+Subject: [PATCH] meson: allow building static library, not just shared
+
+Lets builders specify -Ddefault_library={shared,static,both}
+to control which types of libpciaccess library are built
+
+Closes: #20
+Reported-by: Maxime Gauduin (@alucryd)
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+Upstream: https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/commit/ad7e9cb4b291a46812eea321f0634cfc46fb94e2
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ .gitlab-ci.yml  | 2 +-
+ src/meson.build | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
+index bcb75cf..185edc2 100644
+--- a/.gitlab-ci.yml
++++ b/.gitlab-ci.yml
+@@ -91,7 +91,7 @@ meson:
+       - MESON_OPTIONS: ['-Dzlib=disabled', '-Dzlib=enabled']
+   script:
+     - mkdir -p ../_inst
+-    - meson setup builddir --prefix="$PWD/../_inst" -Dwarning_level=3 $MESON_OPTIONS
++    - meson setup builddir --prefix="$PWD/../_inst" -Dwarning_level=3 -Ddefault_library=both $MESON_OPTIONS
+     - meson configure builddir
+     - ninja -C builddir test
+     - ninja -C builddir install
+diff --git a/src/meson.build b/src/meson.build
+index 24eee04..e319688 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -38,7 +38,7 @@ endif
+ 
+ inc_src = include_directories('.')
+ 
+-libpciaccess = shared_library(
++libpciaccess = library(
+   'pciaccess',
+   [
+     'common_bridge.c',
+-- 
+GitLab
+