[Buildroot] [PATCH 1/1] package/libmodsecurity: needs dynamic library with libcurl and mbedtls

Arnout Vandecappelle arnout at mind.be
Sun Jun 19 15:53:54 UTC 2022



On 13/06/2022 22:06, Fabrice Fontaine wrote:
> libmodsecurity embeds several mbedtls source files since version 3.0.0
> and
> https://github.com/SpiderLabs/ModSecurity/commit/a3ae686f2555bdacbfc9e1889ad05065711a165d
> resulting in the following static build failure if curl is built with
> mbedtls support:
> 
> /home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/m68k-buildroot-uclinux-uclibc/bin/ld.real: /home/buildroot/autobuild/instance-0/output-1/host/bin/../m68k-buildroot-uclinux-uclibc/sysroot/usr/lib/libmbedcrypto.a(md5.c.o): in function `mbedtls_md5_free':
> md5.c:(.text+0x16): multiple definition of `mbedtls_md5_free'; ../../src/.libs/libmodsecurity.a(libmbedtls_la-md5.o):md5.c:(.text+0x16): first defined here
> 
> Fixes:
>   - http://autobuild.buildroot.org/results/98472a3a41cdbcb3d02289a437074a267f4b2e8e
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>

  Applied to master, thanks.

  Since upstream seemed to risk not accepting the package, I added a comment 
that hopefully will tickle them.

  Regards,
  Arnout

> ---
>   package/libmodsecurity/Config.in    | 5 +++++
>   package/nginx-modsecurity/Config.in | 5 +++++
>   2 files changed, 10 insertions(+)
> 
> diff --git a/package/libmodsecurity/Config.in b/package/libmodsecurity/Config.in
> index 87f7a9c103..f65ab3de93 100644
> --- a/package/libmodsecurity/Config.in
> +++ b/package/libmodsecurity/Config.in
> @@ -2,6 +2,8 @@ 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)
>   	select BR2_PACKAGE_PCRE
>   	help
>   	  Libmodsecurity is one component of the ModSecurity
> @@ -17,3 +19,6 @@ config BR2_PACKAGE_LIBMODSECURITY
>   
>   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
> diff --git a/package/nginx-modsecurity/Config.in b/package/nginx-modsecurity/Config.in
> index b1fcbadd7a..5cbe57a866 100644
> --- a/package/nginx-modsecurity/Config.in
> +++ b/package/nginx-modsecurity/Config.in
> @@ -3,6 +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
>   	select BR2_PACKAGE_LIBMODSECURITY
>   	help
>   	  The ModSecurity-nginx connector is the connection
> @@ -14,3 +15,7 @@ config BR2_PACKAGE_NGINX_MODSECURITY
>   comment "nginx-modsecurity needs a toolchain w/ C++, threads"
>   	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



More information about the buildroot mailing list