[libcamera-devel] [PATCH] src/libcamera/meson.build: link with atomic when needed

Fabrice Fontaine fontaine.fabrice at gmail.com
Thu Sep 5 21:04:57 CEST 2019


On some architectures, atomic binutils are provided by the libatomic
library from gcc. Linking with libatomic is therefore necessary,
otherwise the build fails with:

/home/buildroot/autobuild/run/instance-3/output/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/7.4.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: src/libcamera/4ab8042@@camera at sha/v4l2_videodevice.cpp.o: in function `libcamera::V4L2VideoDevice::queueBuffer(libcamera::Buffer*)':
v4l2_videodevice.cpp:(.text+0x1470): undefined reference to `__atomic_fetch_add_4'

This is often for example the case on sparc v8 32 bits.

Fixes:
 - http://autobuild.buildroot.org/results/1f0b8338f5f39aa86b9d432598dae2f53c5f7c84

Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
---
 src/libcamera/meson.build | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
index c5d8f11..0706a08 100644
--- a/src/libcamera/meson.build
+++ b/src/libcamera/meson.build
@@ -99,6 +99,7 @@ version_cpp = vcs_tag(command : [gen_version, meson.build_root()],
 libcamera_sources += version_cpp
 
 libcamera_deps = [
+    cc.find_library('atomic', required: false),
     cc.find_library('dl'),
     libudev,
     dependency('threads'),
-- 
2.23.0.rc1



More information about the libcamera-devel mailing list