From 10fef869a58e37ec649b61eddab545f2da57a79b Mon Sep 17 00:00:00 2001 From: Zixuan Tan Date: Sat, 25 Jun 2022 23:34:38 +0800 Subject: [PATCH] perf build: Suppress openssl v3 deprecation warnings in libcrypto feature test With OpenSSL v3 installed, the libcrypto feature check fails as it use the deprecated MD5_* API (and is compiled with -Werror). The error message is as follows. $ make tools/perf ``` Makefile.config:778: No libcrypto.h found, disables jitted code injection, please install openssl-devel or libssl-dev Auto-detecting system features: ... dwarf: [ on ] ... dwarf_getlocations: [ on ] ... glibc: [ on ] ... libbfd: [ on ] ... libbfd-buildid: [ on ] ... libcap: [ on ] ... libelf: [ on ] ... libnuma: [ on ] ... numa_num_possible_cpus: [ on ] ... libperl: [ on ] ... libpython: [ on ] ... libcrypto: [ OFF ] ... libunwind: [ on ] ... libdw-dwarf-unwind: [ on ] ... zlib: [ on ] ... lzma: [ on ] ... get_cpuid: [ on ] ... bpf: [ on ] ... libaio: [ on ] ... libzstd: [ on ] ... disassembler-four-args: [ on ] ``` This is very confusing because the suggested library (on my Ubuntu 20.04 it is libssl-dev) is already installed. As the test only checks for the presence of libcrypto, this commit suppresses the deprecation warning to allow the test to pass. Signed-off-by: Zixuan Tan Cc: Alexei Starovoitov Cc: Andrii Nakryiko Cc: Daniel Borkmann Cc: John Fastabend Cc: KP Singh Cc: Martin KaFai Lau Cc: Nick Terrell Cc: Song Liu Cc: Yonghong Song Cc: bpf@vger.kernel.org Cc: netdev@vger.kernel.org Link: https://lore.kernel.org/r/20220625153439.513559-1-tanzixuan.me@gmail.com Signed-off-by: Arnaldo Carvalho de Melo --- tools/build/feature/test-libcrypto.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/build/feature/test-libcrypto.c b/tools/build/feature/test-libcrypto.c index a98174e0569c..31afff093d0b 100644 --- a/tools/build/feature/test-libcrypto.c +++ b/tools/build/feature/test-libcrypto.c @@ -2,6 +2,12 @@ #include #include +/* + * The MD5_* API have been deprecated since OpenSSL 3.0, which causes the + * feature test to fail silently. This is a workaround. + */ +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + int main(void) { MD5_CTX context;