When we check for libbsd we were just checking for the library itself.
However, on some distros, e.g. CentOS, libbsd will be found even though
it's not usable by DPDK as it's missing the string header. Therefore we
should check for both the library and the header file.

Fixes: 5364de644a4b ("eal: support strlcpy function")

Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
---
 config/meson.build | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/config/meson.build b/config/meson.build
index 5815b5602..2179c689c 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -43,7 +43,8 @@ if numa_dep.found() and cc.has_header('numaif.h')
 endif
 
 # check for strlcpy
-if host_machine.system() == 'linux' and cc.find_library('bsd', required: 
false).found()
+if host_machine.system() == 'linux' and cc.find_library('bsd',
+               required: false).found() and cc.has_header('bsd/string.h')
        dpdk_conf.set('RTE_USE_LIBBSD', 1)
        add_project_link_arguments('-lbsd', language: 'c')
        dpdk_extra_ldflags += '-lbsd'
-- 
2.14.3

Reply via email to