diff --git a/app/test/meson.build b/app/test/meson.build
index 344a609a4d..80a23c2dd1 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -491,7 +491,7 @@ dpdk_test = executable('dpdk-test',
              driver_install_path),
         install: true)
 
-has_hugepage = run_command('has-hugepage.sh').stdout().strip() != '0'
+has_hugepage = run_command('has-hugepage.sh', check: true).stdout().strip() != '0'
 message('hugepage availability: @0@'.format(has_hugepage))
 
 # some perf tests (eg: memcpy perf autotest)take very long
diff --git a/buildtools/meson.build b/buildtools/meson.build
index 22ea0ba375..400b88f251 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -45,7 +45,7 @@ if host_machine.system() != 'windows'
 endif
 foreach module : python3_required_modules
     script = 'import importlib.util; import sys; exit(importlib.util.find_spec("@0@") is None)'
-    if run_command(py3, '-c', script.format(module)).returncode() != 0
+    if run_command(py3, '-c', script.format(module), check: false).returncode() != 0
         error('missing python module: @0@'.format(module))
     endif
 endforeach
diff --git a/config/arm/meson.build b/config/arm/meson.build
index c3a3f2faaf..e102381af5 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -463,7 +463,7 @@ else
             # 'Primary Part number', 'Revision']
             detect_vendor = find_program(join_paths(meson.current_source_dir(),
                                                     'armv8_machine.py'))
-            cmd = run_command(detect_vendor.path())
+            cmd = run_command(detect_vendor.path(), check: false)
             if cmd.returncode() == 0
                 cmd_output = cmd.stdout().to_lower().strip().split(' ')
                 implementer_id = cmd_output[0]
diff --git a/config/meson.build b/config/meson.build
index 805d5d51d0..ee12318d4f 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -22,7 +22,8 @@ is_ms_linker = is_windows and (cc.get_id() == 'clang')
 # depending on the configuration options
 pver = meson.project_version().split('.')
 major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
-abi_version = run_command(find_program('cat', 'more'), abi_version_file).stdout().strip()
+abi_version = run_command(find_program('cat', 'more'), abi_version_file,
+        check: true).stdout().strip()
 
 # Libraries have the abi_version as the filename extension
 # and have the soname be all but the final part of the abi_version.
@@ -334,7 +335,7 @@ if max_lcores == 'detect'
         error('Discovery of max_lcores is not supported for cross-compilation.')
     endif
     # overwrite the default value with discovered values
-    max_lcores = run_command(get_cpu_count_cmd).stdout().to_int()
+    max_lcores = run_command(get_cpu_count_cmd, check: true).stdout().to_int()
     min_lcores = 2
     # DPDK must be built for at least 2 cores
     if max_lcores < min_lcores
diff --git a/config/x86/meson.build b/config/x86/meson.build
index e25ed316f4..54345c4da3 100644
--- a/config/x86/meson.build
+++ b/config/x86/meson.build
@@ -4,7 +4,7 @@
 # get binutils version for the workaround of Bug 97
 binutils_ok = true
 if is_linux or cc.get_id() == 'gcc'
-    binutils_ok = run_command(binutils_avx512_check).returncode() == 0
+    binutils_ok = run_command(binutils_avx512_check, check: false).returncode() == 0
     if not binutils_ok and cc.has_argument('-mno-avx512f')
         machine_args += '-mno-avx512f'
         warning('Binutils error with AVX512 assembly, disabling AVX512 support')
diff --git a/drivers/common/mlx5/linux/meson.build b/drivers/common/mlx5/linux/meson.build
index 7909f23e21..4c7b53b9bd 100644
--- a/drivers/common/mlx5/linux/meson.build
+++ b/drivers/common/mlx5/linux/meson.build
@@ -36,7 +36,7 @@ foreach libname:libnames
 endforeach
 if static_ibverbs or dlopen_ibverbs
     # Build without adding shared libs to Requires.private
-    ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout()
+    ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs', check: true).stdout()
     ext_deps += declare_dependency(compile_args: ibv_cflags.split())
 endif
 if static_ibverbs
diff --git a/drivers/common/mlx5/windows/meson.build b/drivers/common/mlx5/windows/meson.build
index 980f76b11c..edbbaa9ae1 100644
--- a/drivers/common/mlx5/windows/meson.build
+++ b/drivers/common/mlx5/windows/meson.build
@@ -8,8 +8,8 @@ sources += files(
         'mlx5_common_os.c',
 )
 
-res_lib = run_command(python3, '-c', 'import os; print(os.environ["DEVX_LIB_PATH"])')
-res_inc = run_command(python3, '-c', 'import os; print(os.environ["DEVX_INC_PATH"])')
+res_lib = run_command(python3, '-c', 'import os; print(os.environ["DEVX_LIB_PATH"])', check: false)
+res_inc = run_command(python3, '-c', 'import os; print(os.environ["DEVX_INC_PATH"])', check: false)
 
 if (res_lib.returncode() != 0 or res_inc.returncode() != 0)
     build = false
diff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build
index 99a30eab8f..a038c1ec1b 100644
--- a/drivers/net/mlx4/meson.build
+++ b/drivers/net/mlx4/meson.build
@@ -42,7 +42,7 @@ foreach libname:libnames
 endforeach
 if static_ibverbs or dlopen_ibverbs
     # Build without adding shared libs to Requires.private
-    ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout()
+    ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs', check:true).stdout()
     ext_deps += declare_dependency(compile_args: ibv_cflags.split())
 endif
 if static_ibverbs
diff --git a/kernel/linux/kni/meson.build b/kernel/linux/kni/meson.build
index c683fc7b36..dae8c37b37 100644
--- a/kernel/linux/kni/meson.build
+++ b/kernel/linux/kni/meson.build
@@ -5,7 +5,7 @@
 # Ref: https://jira.devtools.intel.com/browse/DPDK-29263
 kmod_cflags = ''
 file_path = kernel_source_dir + '/include/linux/netdevice.h'
-run_cmd = run_command('grep', 'ndo_tx_timeout', file_path)
+run_cmd = run_command('grep', 'ndo_tx_timeout', file_path, check: false)
 
 if run_cmd.stdout().contains('txqueue') == true
    kmod_cflags = '-DHAVE_ARG_TX_QUEUE'
diff --git a/kernel/linux/meson.build b/kernel/linux/meson.build
index 0637452e95..d8fb20c1c3 100644
--- a/kernel/linux/meson.build
+++ b/kernel/linux/meson.build
@@ -11,7 +11,7 @@ cross_args = []
 
 if not meson.is_cross_build()
     # native build
-    kernel_version = run_command('uname', '-r').stdout().strip()
+    kernel_version = run_command('uname', '-r', check: true).stdout().strip()
     kernel_install_dir = '/lib/modules/' + kernel_version + '/extra/dpdk'
     if kernel_build_dir == ''
         # use default path for native builds
@@ -24,14 +24,14 @@ if not meson.is_cross_build()
 
     # test running make in kernel directory, using "make kernelversion"
     make_returncode = run_command('make', '-sC', kernel_build_dir,
-            'kernelversion').returncode()
+            'kernelversion', check: true).returncode()
     if make_returncode != 0
         # backward compatibility:
         # the headers could still be in the 'build' subdir
         if not kernel_build_dir.endswith('build') and not kernel_build_dir.endswith('build/')
             kernel_build_dir = join_paths(kernel_build_dir, 'build')
             make_returncode = run_command('make', '-sC', kernel_build_dir,
-                    'kernelversion').returncode()
+                    'kernelversion', check: true).returncode()
         endif
     endif
 
@@ -54,7 +54,8 @@ if kernel_build_dir == ''
 endif
 cross_compiler = find_program('c').path()
 if cross_compiler.endswith('gcc')
-    cross_prefix = run_command([py3, '-c', 'print("' + cross_compiler + '"[:-3])']).stdout().strip()
+    cross_prefix = run_command([py3, '-c', 'print("' + cross_compiler + '"[:-3])'],
+            check: true).stdout().strip()
 elif cross_compiler.endswith('clang')
     cross_prefix = ''
     found_target = false
diff --git a/meson.build b/meson.build
index 12cb6e0e83..1223b79d74 100644
--- a/meson.build
+++ b/meson.build
@@ -5,7 +5,7 @@ project('DPDK', 'C',
         # Get version number from file.
         # Fallback to "more" for Windows compatibility.
         version: run_command(find_program('cat', 'more'),
-            files('VERSION')).stdout().strip(),
+            files('VERSION'), check: true).stdout().strip(),
         license: 'BSD',
         default_options: ['buildtype=release', 'default_library=static'],
         meson_version: '>= 0.49.2'
