On Sun, 27 Feb 2022 at 02:42, Sebastian Andrzej Siewior <
sebast...@breakpoint.cc> wrote:

> | transports/snmpTLSBaseDomain.c:59:22: error: static declaration of
> ‘ERR_get_error_all’ follows non-static declaration
> |    59 | static unsigned long ERR_get_error_all(const char **file, int
> *line,

|       |                      ^~~~~~~~~~~~~~~~~
> | In file included from transports/snmpTLSBaseDomain.c:31:
> | /usr/include/openssl/err.h:406:15: note: previous declaration of
> ‘ERR_get_error_all’ with type ‘long unsigned int(const char **, int
> *, const char **, const char **, int *)’
> |   406 | unsigned long ERR_get_error_all(const char **file, int *line,
> |       |               ^~~~~~~~~~~~~~~~~
>
This should not be compiled because HAVE_ERR_GET_ERROR_ALL should be
defined (so it's skipped over) Looks like the configure script is not
picking it up.
It looks like the test program does not include openssl/err.h which means
it fails. AC_CHECK_FUNC doesn't include additional headers, which is why
this isn't working.

| transports/snmpTLSBaseDomain.c: In function ‘ERR_get_error_all’:
> | transports/snmpTLSBaseDomain.c:64:5: warning:
> ‘ERR_get_error_line_data’ is deprecated: Since OpenSSL 3.0
> [-Wdeprecated-declarations]
> |    64 |     return ERR_get_error_line_data(file, line, data, flags);
> |       |     ^~~~~~
> | In file included from transports/snmpTLSBaseDomain.c:31:
> | /usr/include/openssl/err.h:413:15: note: declared here
> |   413 | unsigned long ERR_get_error_line_data(const char **file, int
> *line,
> |       |               ^~~~~~~~~~~~~~~~~~~~~~~
> | make[3]: *** [Makefile:101: transports/snmpTLSBaseDomain.lo] Error 1
> | make[3]: Leaving directory '/<<PKGBUILDDIR>>/snmplib
>

At the very least I'll just remove the code within the ifndef as its a
*backport* of the OpenSSL 1.1.1e function.
I'll look at
https://stackoverflow.com/questions/63942436/determining-openssl-version-with-ifdef
or something like that to properly check the result.

 - Craig

Reply via email to