diff mbox series

babeltrace2: Define LDCXXSHARED

Message ID 20250827043440.2791498-1-raj.khem@gmail.com
State New
Headers show
Series babeltrace2: Define LDCXXSHARED | expand

Commit Message

Khem Raj Aug. 27, 2025, 4:34 a.m. UTC
python plugins use setuptools/distutils to build and it tries to compute
LDCXXSHARED as described in [1] in /src/bindings/python/bt2/setup.py.in
It gets confused and ends up specifying compiler twice and the result is
that linker fails with cryptic errors e.g.

| /mnt/b/yoe/master/sources/poky/build/tmp/work/x86-64-v3-poky-linux-musl/babeltrace2/2.1.1/recipe-sysroot-native/usr/bin/x86_64-poky-linux-musl/../../libexec/x86_64-poky-linux-musl/gcc/x86_64-poky-linux-musl/15.2.0/ld: cannot find x86_64-poky-linux-musl-g++: No such file or directory
| collect2: error: ld returned 1 exit status
| error: command '/mnt/b/yoe/master/sources/poky/build/tmp/hosttools/ccache' failed with exit code 1
| make[3]: *** [Makefile:741: build-python-bindings.stamp] Error 1
| make[3]: Leaving directory '/mnt/b/yoe/master/sources/poky/build/tmp/work/x86-64-v3-poky-linux-musl/babeltrace2/2.1.1/build/src/bindings/python/bt2'

This is because first occurance of linker is encountering second linker on its
cmdline and tries to treat it as an input object to linker

Define LDCXXSHARED like it is in setuptools-base class

[1] https://github.com/pypa/setuptools/commit/2c937116cc0dcd9b26b6070e89a3dc5dcbedc2ae

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-kernel/lttng/babeltrace2_2.1.1.bb | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

diff --git a/meta/recipes-kernel/lttng/babeltrace2_2.1.1.bb b/meta/recipes-kernel/lttng/babeltrace2_2.1.1.bb
index 1dc8cd8a498..ad6b7e8f057 100644
--- a/meta/recipes-kernel/lttng/babeltrace2_2.1.1.bb
+++ b/meta/recipes-kernel/lttng/babeltrace2_2.1.1.bb
@@ -23,6 +23,8 @@  inherit autotools pkgconfig ptest python3targetconfig
 
 EXTRA_OECONF = "--disable-debug-info --disable-Werror --enable-python-plugins --enable-python-bindings"
 
+export LDCXXSHARED = "{CXX} -shared"
+
 export DISTSETUPOPTS = " --install-lib=${PYTHON_SITEPACKAGES_DIR}"
 
 PACKAGECONFIG ??= "manpages"