diff mbox series

[1/1] package/qpdf: needs atomic

Message ID 20220104210727.3634208-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/1] package/qpdf: needs atomic | expand

Commit Message

Fabrice Fontaine Jan. 4, 2022, 9:07 p.m. UTC
qpdf needs atomic since bump to version 10.5.0 in commit
b5352c2177011ca389cbb7c68e78447549cbdaaa and
https://github.com/qpdf/qpdf/commit/c5c1a028cdd3cf345046c46963fb0fdacfb2c33c:

/home/buildroot/autobuild/instance-2/output-1/host/opt/ext-toolchain/m68k-buildroot-uclinux-uclibc/bin/ld.real: /home/buildroot/autobuild/instance-2/output-1/build/qpdf-10.5.0/libqpdf/build/.libs/libqpdf.a(QPDF.o): in function `QPDF::QPDF()':
QPDF.cc:(.text+0x48de): undefined reference to `__atomic_fetch_add_8'

Fixes:
 - http://autobuild.buildroot.org/results/7e18689670dcbe491c35f0597e5c3c787936263f

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/cups-filters/Config.in | 2 ++
 package/qpdf/Config.in         | 2 ++
 2 files changed, 4 insertions(+)

Comments

Thomas Petazzoni Jan. 7, 2022, 9:08 p.m. UTC | #1
On Tue,  4 Jan 2022 22:07:27 +0100
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> qpdf needs atomic since bump to version 10.5.0 in commit
> b5352c2177011ca389cbb7c68e78447549cbdaaa and
> https://github.com/qpdf/qpdf/commit/c5c1a028cdd3cf345046c46963fb0fdacfb2c33c:
> 
> /home/buildroot/autobuild/instance-2/output-1/host/opt/ext-toolchain/m68k-buildroot-uclinux-uclibc/bin/ld.real: /home/buildroot/autobuild/instance-2/output-1/build/qpdf-10.5.0/libqpdf/build/.libs/libqpdf.a(QPDF.o): in function `QPDF::QPDF()':
> QPDF.cc:(.text+0x48de): undefined reference to `__atomic_fetch_add_8'
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/7e18689670dcbe491c35f0597e5c3c787936263f
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>  package/cups-filters/Config.in | 2 ++
>  package/qpdf/Config.in         | 2 ++
>  2 files changed, 4 insertions(+)

Applied to master, thanks. However, could you do a test build on
sparcv8 ? Indeed normally when something needs atomic, it also needs to
link with libatomic when available, as some architectures (such as
sparcv8) have all atomic built-ins implemented in libatomic.

Thanks!

Thomas
Fabrice Fontaine Jan. 7, 2022, 9:16 p.m. UTC | #2
Le ven. 7 janv. 2022 à 22:08, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> a écrit :
>
> On Tue,  4 Jan 2022 22:07:27 +0100
> Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
>
> > qpdf needs atomic since bump to version 10.5.0 in commit
> > b5352c2177011ca389cbb7c68e78447549cbdaaa and
> > https://github.com/qpdf/qpdf/commit/c5c1a028cdd3cf345046c46963fb0fdacfb2c33c:
> >
> > /home/buildroot/autobuild/instance-2/output-1/host/opt/ext-toolchain/m68k-buildroot-uclinux-uclibc/bin/ld.real: /home/buildroot/autobuild/instance-2/output-1/build/qpdf-10.5.0/libqpdf/build/.libs/libqpdf.a(QPDF.o): in function `QPDF::QPDF()':
> > QPDF.cc:(.text+0x48de): undefined reference to `__atomic_fetch_add_8'
> >
> > Fixes:
> >  - http://autobuild.buildroot.org/results/7e18689670dcbe491c35f0597e5c3c787936263f
> >
> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > ---
> >  package/cups-filters/Config.in | 2 ++
> >  package/qpdf/Config.in         | 2 ++
> >  2 files changed, 4 insertions(+)
>
> Applied to master, thanks. However, could you do a test build on
> sparcv8 ? Indeed normally when something needs atomic, it also needs to
> link with libatomic when available, as some architectures (such as
> sparcv8) have all atomic built-ins implemented in libatomic.
qpdf handles linking with atomic since version 10.0.2 and
https://github.com/qpdf/qpdf/commit/66198f447f45a87718b6457756976baa8defb2fd
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
Best Regards,

Fabrice
Thomas Petazzoni Jan. 7, 2022, 9:50 p.m. UTC | #3
On Fri, 7 Jan 2022 22:16:26 +0100
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> qpdf handles linking with atomic since version 10.0.2 and
> https://github.com/qpdf/qpdf/commit/66198f447f45a87718b6457756976baa8defb2fd

Excellent, thanks for confirming!

Thomas
diff mbox series

Patch

diff --git a/package/cups-filters/Config.in b/package/cups-filters/Config.in
index 32381e6c1f..ded99a4774 100644
--- a/package/cups-filters/Config.in
+++ b/package/cups-filters/Config.in
@@ -8,6 +8,7 @@  config BR2_PACKAGE_CUPS_FILTERS
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
 	depends on BR2_PACKAGE_CUPS
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # qpdf
+	depends on BR2_TOOLCHAIN_HAS_ATOMIC # qpdf
 	select BR2_PACKAGE_JPEG
 	select BR2_PACKAGE_FONTCONFIG
 	select BR2_PACKAGE_FREETYPE
@@ -33,6 +34,7 @@  config BR2_PACKAGE_CUPS_FILTERS
 
 comment "cups-filters needs a toolchain w/ wchar, C++, threads and dynamic library, gcc >= 5"
 	depends on BR2_USE_MMU
+	depends on BR2_TOOLCHAIN_HAS_ATOMIC
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
 		!BR2_USE_WCHAR || BR2_STATIC_LIBS || \
 		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
diff --git a/package/qpdf/Config.in b/package/qpdf/Config.in
index 047c4c8a75..accf2b5f34 100644
--- a/package/qpdf/Config.in
+++ b/package/qpdf/Config.in
@@ -2,6 +2,7 @@  config BR2_PACKAGE_QPDF
 	bool "qpdf"
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
+	depends on BR2_TOOLCHAIN_HAS_ATOMIC
 	select BR2_PACKAGE_ZLIB
 	select BR2_PACKAGE_JPEG
 	select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL
@@ -16,5 +17,6 @@  config BR2_PACKAGE_QPDF
 	  http://qpdf.sourceforge.net/
 
 comment "qpdf needs a toolchain w/ C++, gcc >= 5"
+	depends on BR2_TOOLCHAIN_HAS_ATOMIC
 	depends on !BR2_INSTALL_LIBSTDCPP || \
 		!BR2_TOOLCHAIN_GCC_AT_LEAST_5