[libcamera-devel] [PATCH] src/libcamera/meson.build: link with atomic when needed
Fabrice Fontaine
fontaine.fabrice at gmail.com
Mon Sep 9 16:02:42 CEST 2019
Hello,
Le lun. 9 sept. 2019 à 13:09, Kieran Bingham
<kieran.bingham at ideasonboard.com> a écrit :
>
> Hi Fabrice,
>
> I have updated the commit message to reflect the link error which occurs
> on our master branch as opposed to the build issue you have reported
> (those lines of affected code have now been removed):
>
> > src/libcamera/4ab8042@@camera at sha/message.cpp.o: In function `libcamera::Message::registerMessageType()':
> > message.cpp:(.text+0x178): undefined reference to `__atomic_fetch_add_4'
> > collect2: error: ld returned 1 exit status
>
> I've collected Laurent's RB tag, added my own and pushed to master.
>
> Thank you for this fix.
>
> Unfortunately based on my quick cursory testing the master branch will
> hit a secondary issue which will prevent compilation on Sparc in regards
> to O_TMPFILE.
>
> Is this something you can tackle and fix as well? I've overspent on my
> cycles for build-root support so it may take me some time to get back to
> this otherwise.
OK, I'll try to fix it in the next few days.
>
> Thanks and regards
>
> Kieran
>
>
> On 05/09/2019 20:04, Fabrice Fontaine wrote:
> > 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'),
> >
>
> --
> Regards
> --
> Kieran
Best Regards,
Fabrice
More information about the libcamera-devel
mailing list