[Buildroot] [PATCH 1/1] package/rtty: fix wolfssl build
Peter Korsgaard
peter at korsgaard.com
Fri Dec 1 20:12:19 UTC 2023
>>>>> "Yann" == Yann E MORIN <yann.morin.1998 at free.fr> writes:
> Fabrice, All,
> On 2023-11-30 23:49 +0100, Fabrice Fontaine spake thusly:
>> Fix the following wolfssl build failure raised at least since bump to
>> version 7.4.0 in commit 6b5907bf65d27ed98532e9783f92f5575f38b3d2:
>>
>> /home/autobuild/autobuild/instance-4/output-1/build/rtty-8.1.0/src/ssl/openssl.c: In function 'ssl_last_error_string':
>> /home/autobuild/autobuild/instance-4/output-1/build/rtty-8.1.0/src/ssl/openssl.c:143:24:
>> error: implicit declaration of function 'ERR_peek_error_line_data';
>> did you mean 'wolfSSL_ERR_get_error_line_data'?
>> [-Werror=implicit-function-declaration]
>> 143 | ssl_err_code = ERR_peek_error_line_data(&file, &line, &data, &flags);
>> | ^~~~~~~~~~~~~~~~~~~~~~~~
>> | wolfSSL_ERR_get_error_line_data
>>
>> Fixes:
>> - http://autobuild.buildroot.org/results/9db9f1dcc6760de4b78771bb79f109c4efd06c36
>> - http://autobuild.buildroot.org/results/16422af9469de114e552124542508c3b18ea8f19
>>
>> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
>> ---
>> package/rtty/Config.in | 2 ++
>> package/rtty/rtty.mk | 2 +-
>> 2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/package/rtty/Config.in b/package/rtty/Config.in
>> index 198d465713..434c5d6ae7 100644
>> --- a/package/rtty/Config.in
>> +++ b/package/rtty/Config.in
>> @@ -2,6 +2,8 @@ config BR2_PACKAGE_RTTY
>> bool "rtty"
>> depends on BR2_USE_MMU # fork()
>> select BR2_PACKAGE_LIBEV
>> + select BR2_PACKAGE_WOLFSSL_ALL if BR2_PACKAGE_WOLFSSL && \
>> + !BR2_STATIC_LIBS
> That's not nice, as that forces wolfssl-all even in the case that it is
> not used by rtty, i.e. when either mbedtls or openssl are enabled.
> So, the full condition should be something like:
> select BR2_PACKAGE_WOLFSSL_ALL if BR2_PACKAGE_WOLFSSL && \
> !BR2_STATIC_LIBS && !BR2_PACKAGE_MBEDTLS && !BR2_PACKAGE_OPENSSL
> But that becomes a bit too much.
> I think the simplest solution is to just carry the .mk hunk of this
> patch for now.
> Eventually, I think it would be bettter to have a choice for the crypto
> backend, like we have elsewhere, rather than rely on ordering of the
> conditional blocks to defone what gets used, especially since that:
> - it does not match the ordering that upstream uses to find the
> backend (prefers openssl, then wolfssl, then mnedtls);
> - the ordering does not match the other places (e.g. libuhttpd [0] and
> libwebsockets have the same set of crypto backends, but each in yet
> a different order);
> - ordering is subject to being, well, reordered, and people would get
> confused when they update their buildroot to see their rtty change
> its crypto backend...
> [0] libuhttpd suffers from the same issue in its Config.in, that this
> patch would introduce: wolfssl-all os forced even if wolfssl will not be
> used.
> Applied to master, just the .mk hunk, thanks.
Committed to 2023.02.x and 2023.08.x, thanks.
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list