[Buildroot] [PATCH 1/1] package/log4cplus: fix detection of -latomic
Fabrice Fontaine
fontaine.fabrice at gmail.com
Wed Jan 1 17:54:57 UTC 2020
Fixes:
- http://autobuild.buildroot.org/results/5451df835e0e96545b322bc9bd74f76273ee3b34
Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
---
...ure-ac-check-for-libraries-in-C-mode.patch | 62 +++++++++++++++++++
package/log4cplus/log4cplus.mk | 2 +
2 files changed, 64 insertions(+)
create mode 100644 package/log4cplus/0001-configure-ac-check-for-libraries-in-C-mode.patch
diff --git a/package/log4cplus/0001-configure-ac-check-for-libraries-in-C-mode.patch b/package/log4cplus/0001-configure-ac-check-for-libraries-in-C-mode.patch
new file mode 100644
index 0000000000..6226a6210d
--- /dev/null
+++ b/package/log4cplus/0001-configure-ac-check-for-libraries-in-C-mode.patch
@@ -0,0 +1,62 @@
+From 4446516eb4fc8613d26669f5683f9d5d7c36ee67 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report at gmx.net>
+Date: Wed, 18 Dec 2019 21:26:58 +0100
+Subject: [PATCH] configure.ac: check for libraries in C mode
+
+Fixes check for libraries failures, e.g. (from config.log):
+
+ arc-buildroot-linux-uclibc-g++ -o conftest -Os -Wall -fdiagnostics-show-caret -ftrack-macro-expansion -fdiagnostics-color=auto -Wextra -pedantic -Wstrict-aliasing -Wstrict-overflow -Woverloaded-virtual -Wold-style-cast -Wc++14-compat -Wundef -Wshadow -Wformat -Wnoexcept -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wno-variadic-macros -fvisibility=hidden conftest.cpp -latomic
+ conftest.cpp:28:6: error: new declaration 'char __atomic_fetch_and_4()' ambiguates built-in declaration 'unsigned int __atomic_fetch_and_4(volatile void*, unsigned int, int)' [-fpermissive]
+ 28 | char __atomic_fetch_and_4 ();
+ | ^~~~~~~~~~~~~~~~~~~~
+ conftest.cpp: In function 'int main()':
+ conftest.cpp:32:30: error: too few arguments to function 'unsigned int __atomic_fetch_and_4(volatile void*, unsigned int, int)'
+ 32 | return __atomic_fetch_and_4 ();
+ | ^
+
+Resulting in:
+
+ checking for library containing __atomic_fetch_and_4... no
+
+instead (after the fix applied):
+
+ checking for library containing __atomic_fetch_and_4... -latomic
+
+Signed-off-by: Peter Seiderer <ps.report at gmx.net>
+[Retrieved from:
+https://github.com/log4cplus/log4cplus/commit/4446516eb4fc8613d26669f5683f9d5d7c36ee67]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
+---
+ configure.ac | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 72fbd870a..64eff1936 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -412,6 +412,7 @@ LOG4CPLUS_DEFINE_MACRO_IF([LOG4CPLUS_HAVE_VAR_ATTRIBUTE_INIT_PRIORITY],
+
+ dnl Checks for libraries.
+
++AC_LANG_PUSH([C])
+ AC_SEARCH_LIBS([__atomic_fetch_and_4], [atomic])
+ AC_SEARCH_LIBS([strerror], [cposix])
+ dnl On some systems libcompat exists only as a static library which
+@@ -422,6 +423,7 @@ AC_SEARCH_LIBS([setsockopt], [socket network net])
+ AS_IF([test "x$with_iconv" = "xyes"],
+ [AC_SEARCH_LIBS([iconv_open], [iconv], [],
+ [AC_SEARCH_LIBS([libiconv_open], [iconv])])])
++AC_LANG_POP([C])
+
+ dnl Windows/MinGW specific.
+
+@@ -497,7 +499,9 @@ dnl Multi threaded library.
+ AS_VAR_APPEND([LIBS], [" $PTHREAD_LIBS"])
+
+ dnl required on HP-UX
++ AC_LANG_PUSH([C])
+ AC_SEARCH_LIBS([sem_init], [rt])
++ AC_LANG_POP([C])
+
+ AS_CASE([$ax_cv_cxx_compiler_vendor],
+ [gnu|clang],
diff --git a/package/log4cplus/log4cplus.mk b/package/log4cplus/log4cplus.mk
index eadc5ec948..8a613efaee 100644
--- a/package/log4cplus/log4cplus.mk
+++ b/package/log4cplus/log4cplus.mk
@@ -10,6 +10,8 @@ LOG4CPLUS_SITE = http://downloads.sourceforge.net/project/log4cplus/log4cplus-st
LOG4CPLUS_LICENSE = Apache-2.0, BSD-2-Clause, BSD-like (threadpool)
LOG4CPLUS_LICENSE_FILES = LICENSE
LOG4CPLUS_INSTALL_STAGING = YES
+# We're patching configure.ac
+LOG4CPLUS_AUTORECONF = YES
ifeq ($(BR2_GCC_ENABLE_LTO),y)
LOG4CPLUS_CONF_OPTS += --enable-lto
--
2.24.0
More information about the buildroot
mailing list