Since "find_library()" is used to find the libipsec_mb library, there is a chance that an incompatible library will be found e.g. when doing cross-builds. To fix this, we copy the logic from the crypto/ipsec_mb driver to actually do a link-check on the library before deciding it can be used.
Fixes: ca0ba0e48129 ("crypto/qat: default to IPsec MB for computations") Cc: brian.doo...@intel.com Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> --- drivers/common/qat/meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/common/qat/meson.build b/drivers/common/qat/meson.build index edc793ba95..5c36fbb270 100644 --- a/drivers/common/qat/meson.build +++ b/drivers/common/qat/meson.build @@ -43,7 +43,8 @@ else IMB_required_ver = '1.4.0' IMB_header = '#include<intel-ipsec-mb.h>' libipsecmb = cc.find_library('IPSec_MB', required: false) - if libipsecmb.found() + if libipsecmb.found() and meson.version().version_compare('>=0.60') and cc.links( + 'int main(void) {return 0;}', dependencies: libipsecmb) # version comes with quotes, so we split based on " and take the middle imb_ver = cc.get_define('IMB_VERSION_STR', prefix : IMB_header).split('"')[1] -- 2.40.1