Re: [Linux v5.17.9] -Wdeprecated-declarations warnings with LLVM-14 and OpenSSL v3.0.x

From: Andres Freund
Date: Wed Jun 22 2022 - 14:37:58 EST


Hi,

On 2022-06-09 21:31:44 +0200, Sedat Dilek wrote:
> On Thu, Jun 9, 2022 at 9:25 PM Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Thu, Jun 9, 2022 at 12:23 PM Willy Tarreau <w@xxxxxx> wrote:
> > >
> > > IIRC you can also disable the deprecation warnings by defining the
> > > OPENSSL_SUPPRESS_DEPRECATED macro. It doesn't require to change the
> > > compiler's options and allows us to put our head in the sand.
> >
> > That one had the downside that you have to know what you're doing to
> > make such a change ;)
> >
> > I just wanted to be able to start doing pulls again after mistakenly
> > thinking that an upgrade would be pain-free.
> >
>
> My first approach in making this work....
>
> From 3b019a241a72742c7f239965ed92385e9ffd9ed3 Mon Sep 17 00:00:00 2001
> From: Sedat Dilek <sedat.dilek@xxxxxxxxx>
> Date: Fri, 27 May 2022 09:25:45 +0200
> Subject: [PATCH] extract-cert: Suppress warnings with OpenSSL v3 API
>
> Signed-off-by: Sedat Dilek <sedat.dilek@xxxxxxxxx>
> ---
> certs/Makefile | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/certs/Makefile b/certs/Makefile
> index d8443cfb1c40..52f71f0925e2 100644
> --- a/certs/Makefile
> +++ b/certs/Makefile
> @@ -75,4 +75,5 @@ targets += x509_revocation_list
> hostprogs := extract-cert
>
> HOSTCFLAGS_extract-cert.o = $(shell pkg-config --cflags libcrypto 2> /dev/null)
> +HOSTCFLAGS_extract-cert.o += -Wno-deprecated-declarations
> HOSTLDLIBS_extract-cert = $(shell pkg-config --libs libcrypto 2>
> /dev/null || echo -lcrypto)
> --

FWIW, these deprecation warnings also cause perf to fail to detect libcrypto:

test-libcrypto.c: In function ‘main’:
test-libcrypto.c:11:9: error: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
11 | MD5_Init(&context);
| ^~~~~~~~
In file included from test-libcrypto.c:3:
...
cc1: all warnings being treated as errors


Perhaps it's worth applying this fix a bit more broadly?

Greetings,

Andres Freund