* [Buildroot] [PATCH 1/1] package/memcached: fix uclibc-ng build
@ 2023-10-01 13:04 Fabrice Fontaine
2023-11-04 21:30 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 2+ messages in thread
From: Fabrice Fontaine @ 2023-10-01 13:04 UTC (permalink / raw)
To: buildroot; +Cc: Fabrice Fontaine
Fix the following uclibc-ng build failure raised since bump to version
1.6.21 in commit 6ce55ab0ed3b7125cd11ecfe8c18aaf156b5f060 and
https://github.com/memcached/memcached/commit/875371a75cbf1f92350de2d1fa0fae4a35ed572b:
/home/buildroot/autobuild/instance-2/output-1/host/lib/gcc/arc-buildroot-linux-uclibc/10.2.0/../../../../arc-buildroot-linux-uclibc/bin/ld: memcached-thread.o: in function `thread_setname':
thread.c:(.text+0xea2): undefined reference to `pthread_setname_np'
Fixes:
- http://autobuild.buildroot.org/results/e856d381f5ec7d2727f21c8bd46dacb456984416
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
.../0002-fix-build-on-uclibc-ng.patch | 64 +++++++++++++++++++
package/memcached/memcached.mk | 2 +
2 files changed, 66 insertions(+)
create mode 100644 package/memcached/0002-fix-build-on-uclibc-ng.patch
diff --git a/package/memcached/0002-fix-build-on-uclibc-ng.patch b/package/memcached/0002-fix-build-on-uclibc-ng.patch
new file mode 100644
index 0000000000..a5af7a2adb
--- /dev/null
+++ b/package/memcached/0002-fix-build-on-uclibc-ng.patch
@@ -0,0 +1,64 @@
+From c84e5e55e0e9e793849f721d30979242ed6a6ee3 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Sun, 1 Oct 2023 14:12:38 +0200
+Subject: [PATCH] fix build on uclibc-ng
+
+Fix the following build failure with uclibc-ng raised since version
+1.6.18 and
+https://github.com/memcached/memcached/commit/875371a75cbf1f92350de2d1fa0fae4a35ed572b:
+
+/home/buildroot/autobuild/instance-2/output-1/host/lib/gcc/arc-buildroot-linux-uclibc/10.2.0/../../../../arc-buildroot-linux-uclibc/bin/ld: memcached-thread.o: in function `thread_setname':
+thread.c:(.text+0xea2): undefined reference to `pthread_setname_np'
+
+Fixes:
+ - http://autobuild.buildroot.org/results/e856d381f5ec7d2727f21c8bd46dacb456984416
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Upstream: unsent yet (waiting feedback on first patch)
+---
+ configure.ac | 1 +
+ extstore.c | 2 +-
+ thread.c | 2 +-
+ 3 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index d94f6fb..5ec5088 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -686,6 +686,7 @@ AC_CHECK_FUNCS(clock_gettime)
+ AC_CHECK_FUNCS(preadv)
+ AC_CHECK_FUNCS(pread)
+ AC_CHECK_FUNCS(eventfd)
++AC_CHECK_FUNCS([pthread_setname_np],[AC_DEFINE(HAVE_PTHREAD_SETNAME_NP, 1, [Define to 1 if support pthread_setname_np])])
+ AC_CHECK_FUNCS([accept4], [AC_DEFINE(HAVE_ACCEPT4, 1, [Define to 1 if support accept4])])
+ AC_CHECK_FUNCS([getopt_long], [AC_DEFINE(HAVE_GETOPT_LONG, 1, [Define to 1 if support getopt_long])])
+
+diff --git a/extstore.c b/extstore.c
+index b079465..f6a6180 100644
+--- a/extstore.c
++++ b/extstore.c
+@@ -119,7 +119,7 @@ struct store_engine {
+ #define THR_NAME_MAXLEN 16
+ static void thread_setname(pthread_t thread, const char *name) {
+ assert(strlen(name) < THR_NAME_MAXLEN);
+-#if defined(__linux__)
++#if defined(__linux__) && defined(HAVE_PTHREAD_SETNAME_NP)
+ pthread_setname_np(thread, name);
+ #endif
+ }
+diff --git a/thread.c b/thread.c
+index ee120fa..76651c2 100644
+--- a/thread.c
++++ b/thread.c
+@@ -635,7 +635,7 @@ static void thread_libevent_process(evutil_socket_t fd, short which, void *arg)
+ #define THR_NAME_MAXLEN 16
+ void thread_setname(pthread_t thread, const char *name) {
+ assert(strlen(name) < THR_NAME_MAXLEN);
+-#if defined(__linux__)
++#if defined(__linux__) && defined(HAVE_PTHREAD_SETNAME_NP)
+ pthread_setname_np(thread, name);
+ #endif
+ }
+--
+2.40.1
+
diff --git a/package/memcached/memcached.mk b/package/memcached/memcached.mk
index 2ebc672d1c..a1a5eac049 100644
--- a/package/memcached/memcached.mk
+++ b/package/memcached/memcached.mk
@@ -13,6 +13,8 @@ MEMCACHED_LICENSE = BSD-3-Clause
MEMCACHED_LICENSE_FILES = COPYING
MEMCACHED_CPE_ID_VENDOR = memcached
MEMCACHED_SELINUX_MODULES = memcached
+# We're patching configure.ac
+MEMCACHED_AUTORECONF = YES
ifeq ($(BR2_ENDIAN),"BIG")
MEMCACHED_CONF_ENV += ac_cv_c_endian=big
--
2.40.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-11-04 21:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-01 13:04 [Buildroot] [PATCH 1/1] package/memcached: fix uclibc-ng build Fabrice Fontaine
2023-11-04 21:30 ` Thomas Petazzoni via buildroot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.