* [Buildroot] [PATCH] package/python-sdbus: fix linking on aarch64
@ 2024-09-16 13:30 Marcus Hoffmann via buildroot
2024-10-26 20:02 ` Thomas Petazzoni via buildroot
2026-02-02 12:20 ` Marcus Hoffmann via buildroot
0 siblings, 2 replies; 3+ messages in thread
From: Marcus Hoffmann via buildroot @ 2024-09-16 13:30 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Raphaël Mélotte, Asaf Kahlon
The following config snippet fails to build on arm-aarch64. Adding -fPIC
to LDFLAGS fixes this. This has also been discussed upstream [1]
in the past without determining an exact reason/cause.
Error repropduction:
$ cat python-sdbus.config
BR2_INIT_SYSTEMD=y
BR2_PACKAGE_SYSTEMD=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON_SDBUS=y
$ ./utils/test-pkg -p python-sdbus -c python-sdbus.config
bootlin-armv5-uclibc [1/6]: SKIPPED
bootlin-armv7-glibc [2/6]: OK
bootlin-armv7m-uclibc [3/6]: SKIPPED
bootlin-x86-64-musl [4/6]: SKIPPED
br-arm-full-static [5/6]: SKIPPED
arm-aarch64 [6/6]: FAILED
$ tail -20 ~/br-test-pkg/arm-aarch64/logfile
/home/marcus/br-test-pkg/arm-aarch64/host/bin/aarch64-none-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g0 -D_FORTIFY_SOURCE=1 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g0 -D_FORTIFY_SOURCE=1 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -I/home/marcus/br-test-pkg/arm-aarch64/build/python3-3.12.5/Include -I/home/marcus/br-test-pkg/arm-aarch64/build/python3-3.12.5 -c src/sdbus/sd_bus_internals_interface.c -o build/temp.linux-aarch64-cpython-312/src/sdbus/sd_bus_internals_interface.o -flto
/home/marcus/br-test-pkg/arm-aarch64/host/bin/aarch64-none-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g0 -D_FORTIFY_SOURCE=1 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g0 -D_FORTIFY_SOURCE=1 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -I/home/marcus/br-test-pkg/arm-aarch64/build/python3-3.12.5/Include -I/home/marcus/br-test-pkg/arm-aarch64/build/python3-3.12.5 -c src/sdbus/sd_bus_internals_message.c -o build/temp.linux-aarch64-cpython-312/src/sdbus/sd_bus_internals_message.o -flto
/home/marcus/br-test-pkg/arm-aarch64/host/bin/aarch64-none-linux-gnu-gcc -shared -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g0 -D_FORTIFY_SOURCE=1 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 build/temp.linux-aarch64-cpython-312/src/sdbus/sd_bus_internals.o build/temp.linux-aarch64-cpython-312/src/sdbus/sd_bus_internals_bus.o build/temp.linux-aarch64-cpython-312/src/sdbus/sd_bus_internals_funcs.o build/temp.linux-aarch64-cpython-312/src/sdbus/sd_bus_internals_interface.o build/temp.linux-aarch64-cpython-312/src/sdbus/sd_bus_internals_message.o -L. -o build/lib.linux-aarch64-cpython-312/sdbus/sd_bus_internals.cpython-312-aarch64-linux-gnu.so -lsystemd -flto
/home/marcus/br-test-pkg/arm-aarch64/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-none-linux-gnu/13.3.1/../../../../aarch64-none-linux-gnu/bin/ld: /tmp/ccMnk9xf.ltrans0.ltrans.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `SdBus_async_callback' which may bind externally can not be used when making a shared object; recompile with -fPIC
/tmp/ccMnk9xf.ltrans0.ltrans.o: in function `SdBus_call_async':
<artificial>:(.text+0x1d50): dangerous relocation: unsupported relocation
/home/marcus/br-test-pkg/arm-aarch64/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-none-linux-gnu/13.3.1/../../../../aarch64-none-linux-gnu/bin/ld: /tmp/ccMnk9xf.ltrans0.ltrans.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `_SdBus_match_signal_instant_callback' which may bind externally can not be used when making a shared object; recompile with -fPIC
/tmp/ccMnk9xf.ltrans0.ltrans.o: in function `SdBus_match_signal_async':
<artificial>:(.text+0x203c): dangerous relocation: unsupported relocation
/home/marcus/br-test-pkg/arm-aarch64/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-none-linux-gnu/13.3.1/../../../../aarch64-none-linux-gnu/bin/ld: /tmp/ccMnk9xf.ltrans0.ltrans.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `_SdBus_signal_callback' which may bind externally can not be used when making a shared object; recompile with -fPIC
<artificial>:(.text+0x2040): dangerous relocation: unsupported relocation
/home/marcus/br-test-pkg/arm-aarch64/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-none-linux-gnu/13.3.1/../../../../aarch64-none-linux-gnu/bin/ld: /tmp/ccMnk9xf.ltrans0.ltrans.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `SdBus_request_name_callback' which may bind externally can not be used when making a shared object; recompile with -fPIC
/tmp/ccMnk9xf.ltrans0.ltrans.o: in function `SdBus_request_name_async':
<artificial>:(.text+0x2310): dangerous relocation: unsupported relocation
collect2: error: ld returned 1 exit status
error: command '/home/marcus/br-test-pkg/arm-aarch64/host/bin/aarch64-none-linux-gnu-gcc' failed with exit code 1
ERROR Backend subprocess exited when trying to invoke build_wheel
make[1]: *** [package/pkg-generic.mk:289: /home/marcus/br-test-pkg/arm-aarch64/build/python-sdbus-0.12.0/.stamp_built] Error 1
make: *** [Makefile:83: _all] Error 2
[1] https://github.com/python-sdbus/python-sdbus/issues/50
Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
---
package/python-sdbus/python-sdbus.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/python-sdbus/python-sdbus.mk b/package/python-sdbus/python-sdbus.mk
index 0b3ea37b30..5ed798fbe0 100644
--- a/package/python-sdbus/python-sdbus.mk
+++ b/package/python-sdbus/python-sdbus.mk
@@ -12,6 +12,7 @@ PYTHON_SDBUS_LICENSE = LGPL-2.1+
PYTHON_SDBUS_LICENSE_FILES = COPYING
PYTHON_SDBUS_DEPENDENCIES = systemd
+PYTHON_SDBUS_ENV += LDFLAGS=-fPIC
ifeq ($(BR2_STATIC_LIBS),y)
PYTHON_SDBUS_ENV += PYTHON_SDBUS_USE_STATIC_LINK=1
endif
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH] package/python-sdbus: fix linking on aarch64
2024-09-16 13:30 [Buildroot] [PATCH] package/python-sdbus: fix linking on aarch64 Marcus Hoffmann via buildroot
@ 2024-10-26 20:02 ` Thomas Petazzoni via buildroot
2026-02-02 12:20 ` Marcus Hoffmann via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-10-26 20:02 UTC (permalink / raw)
To: Marcus Hoffmann via buildroot
Cc: Marcus Hoffmann, James Hilliard, Raphaël Mélotte,
Asaf Kahlon
On Mon, 16 Sep 2024 15:30:57 +0200
Marcus Hoffmann via buildroot <buildroot@buildroot.org> wrote:
> The following config snippet fails to build on arm-aarch64. Adding -fPIC
> to LDFLAGS fixes this. This has also been discussed upstream [1]
> in the past without determining an exact reason/cause.
FYI, I did some further research on this, and commented at:
https://github.com/python-sdbus/python-sdbus/issues/50
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH] package/python-sdbus: fix linking on aarch64
2024-09-16 13:30 [Buildroot] [PATCH] package/python-sdbus: fix linking on aarch64 Marcus Hoffmann via buildroot
2024-10-26 20:02 ` Thomas Petazzoni via buildroot
@ 2026-02-02 12:20 ` Marcus Hoffmann via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Marcus Hoffmann via buildroot @ 2026-02-02 12:20 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Raphaël Mélotte, Asaf Kahlon
On 9/16/24 15:30, Marcus Hoffmann via buildroot wrote:
> The following config snippet fails to build on arm-aarch64. Adding -fPIC
> to LDFLAGS fixes this. This has also been discussed upstream [1]
> in the past without determining an exact reason/cause.
>
> Error repropduction:
>
> $ cat python-sdbus.config
> BR2_INIT_SYSTEMD=y
> BR2_PACKAGE_SYSTEMD=y
> BR2_PACKAGE_PYTHON3=y
> BR2_PACKAGE_PYTHON_SDBUS=y
>
> $ ./utils/test-pkg -p python-sdbus -c python-sdbus.config
> bootlin-armv5-uclibc [1/6]: SKIPPED
> bootlin-armv7-glibc [2/6]: OK
> bootlin-armv7m-uclibc [3/6]: SKIPPED
> bootlin-x86-64-musl [4/6]: SKIPPED
> br-arm-full-static [5/6]: SKIPPED
> arm-aarch64 [6/6]: FAILED
This not longer reproduces, so I marked this patch as superseeded in
Patchwork.
[...]
Marcus
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-02-02 12:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-16 13:30 [Buildroot] [PATCH] package/python-sdbus: fix linking on aarch64 Marcus Hoffmann via buildroot
2024-10-26 20:02 ` Thomas Petazzoni via buildroot
2026-02-02 12:20 ` Marcus Hoffmann via buildroot
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.