From 97bdc0616c6027fe4b92bfa80dd9e7d43df20505 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Mon, 20 Feb 2023 23:31:51 +0100 Subject: [PATCH] package/libmodsecurity: needs dynamic library Commit 9fc652a373034118535397fdd4042ab9f8fd7adf was incomplete as mbedtls can be pulled in libcurl through libssh2 resulting in the following build failure: /home/autobuild/autobuild/instance-4/output-1/host/lib/gcc/powerpc64le-buildroot-linux-musl/11.3.0/../../../../powerpc64le-buildroot-linux-musl/bin/ld: /home/autobuild/autobuild/instance-4/output-1/host/powerpc64le-buildroot-linux-musl/sysroot/usr/lib//libmbedcrypto.a(md5.c.o): in function `mbedtls_md5_init': md5.c:(.text+0x0): multiple definition of `mbedtls_md5_init'; ../../src/.libs/libmodsecurity.a(libmbedtls_la-md5.o):md5.c:(.text+0x0): first defined here Fixes: - http://autobuild.buildroot.org/results/4c235e46188f23d1a48297f4e5942cec7b25959a Signed-off-by: Fabrice Fontaine Signed-off-by: Thomas Petazzoni --- package/libmodsecurity/Config.in | 14 +++++++------- package/nginx-modsecurity/Config.in | 11 ++++------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/package/libmodsecurity/Config.in b/package/libmodsecurity/Config.in index b15d808759..69bb0494cc 100644 --- a/package/libmodsecurity/Config.in +++ b/package/libmodsecurity/Config.in @@ -2,8 +2,10 @@ config BR2_PACKAGE_LIBMODSECURITY bool "libmodsecurity" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS - # libmodsecurity embeds several mbedtls source files - depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_LIBCURL_MBEDTLS) + # libmodsecurity embeds several mbedtls source files, causing + # various issues when static linking and other dependencies of + # libmodsecurity in turn use mbedtls + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_PCRE2 help Libmodsecurity is one component of the ModSecurity @@ -17,8 +19,6 @@ config BR2_PACKAGE_LIBMODSECURITY https://github.com/SpiderLabs/ModSecurity -comment "libmodsecurity needs a toolchain w/ C++, threads" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS - -comment "libmodsecurity needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS && BR2_PACKAGE_LIBCURL_MBEDTLS +comment "libmodsecurity needs a toolchain w/ C++, threads, dynamic library" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/nginx-modsecurity/Config.in b/package/nginx-modsecurity/Config.in index 5cbe57a866..0bbf05fad9 100644 --- a/package/nginx-modsecurity/Config.in +++ b/package/nginx-modsecurity/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_NGINX_MODSECURITY depends on BR2_PACKAGE_NGINX_HTTP depends on BR2_INSTALL_LIBSTDCPP # libmodsecurity depends on BR2_TOOLCHAIN_HAS_THREADS # libmodsecurity - depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_LIBCURL_MBEDTLS) # libmodsecurity + depends on !BR2_STATIC_LIBS # libmodsecurity select BR2_PACKAGE_LIBMODSECURITY help The ModSecurity-nginx connector is the connection @@ -12,10 +12,7 @@ config BR2_PACKAGE_NGINX_MODSECURITY https://github.com/SpiderLabs/ModSecurity-nginx -comment "nginx-modsecurity needs a toolchain w/ C++, threads" +comment "nginx-modsecurity needs a toolchain w/ C++, threads, dynamic library" depends on BR2_PACKAGE_NGINX_HTTP - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS - -comment "nginx-modsecurity needs a toolchain w/ dynamic library" - depends on BR2_PACKAGE_NGINX_HTTP - depends on BR2_STATIC_LIBS && BR2_PACKAGE_LIBCURL_MBEDTLS + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS