The following shell statement: if eval "echo \$$_feature" = "yes" ; then executes: echo $... = "yes" It does not actually compare the variable named by $_feature to the string "yes". Add the missing "test" call so the comparison happens as intended and wrap the eval so it doesn't include the = "yes". Fixes: 3e48f7c9de61 ("configure: fix syntax error with NetBSD") Cc: Dmitry Fomichev <dmitry.fomichev@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index a7d82be0..e886bdc8 100755 --- a/configure +++ b/configure @@ -142,7 +142,7 @@ check_min_lib_version() { fi : "${_feature:=${1}}" if "${cross_prefix}"pkg-config --version > /dev/null 2>&1; then - if eval "echo \$$_feature" = "yes" ; then + if test "$(eval echo \"\$$_feature\")" = "yes" ; then feature_not_found "$_feature" "$1 >= $2" fi else -- 2.31.1