From b267a2241c3c3b4e782d0e96d5709eb17b897d24 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sat, 3 Dec 2022 16:55:45 +0100 Subject: [PATCH] package/memcached: fix static with shared build When BR2_SHARED_STATIC_LIBS is enabled, both --enable-static and --enable-shared are passed to configure. memcached configure.ac only looks for --enable-static to make the build static. But when linking against openssl pkg-config only returns dynamic linking dependencies, resulting in the following build failure: /home/thomas/autobuild/instance-1/output-1/host/bin/aarch64_be-buildroot-linux-gnu-gcc -std=gnu99 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -pthread -Wall -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -static -o timedrun timedrun.o -levent -L/home/thomas/autobuild/instance-1/output-1/host/bin/../aarch64_be-buildroot-linux-gnu/sysroot/usr/lib -lssl -lcrypto -ldl /home/thomas/autobuild/instance-1/output-1/host/lib/gcc/aarch64_be-buildroot-linux-gnu/11.3.0/../../../../aarch64_be-buildroot-linux-gnu/bin/ld: memcached-memcached.o: in function `conn_new': memcached.c:(.text+0x1668): undefined reference to `SSL_set_info_callback' BR2_SHARED_STATIC_LIBS only makes sense for libraries, not executable binaries. Pass --disable-static unless BR2_STATIC_LIBS is enabled for static only build. Fixes: - http://autobuild.buildroot.org/results/363c84eaa69350e02bec0b35b88d4bdf4dad804c - http://autobuild.buildroot.org/results/0bde41bb700100d8df5ebdb1b64dfdc76c7af475 Signed-off-by: Fabrice Fontaine Signed-off-by: Peter Korsgaard (cherry picked from commit c7ca04fcb42051c53ff146cb7566d9ddd95a3a71) Signed-off-by: Peter Korsgaard --- package/memcached/memcached.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package/memcached/memcached.mk b/package/memcached/memcached.mk index 1fcb8c2afa..e8c64cb192 100644 --- a/package/memcached/memcached.mk +++ b/package/memcached/memcached.mk @@ -29,4 +29,8 @@ else MEMCACHED_CONF_OPTS += --disable-tls endif +ifeq ($(BR2_STATIC_LIBS),) +MEMCACHED_CONF_OPTS += --disable-static +endif + $(eval $(autotools-package))