This is to fix a build error with meson in GNU/Linux that is caused
by using the 'more' command to read the VERSION file. The error:

    config/meson.build:10:10: ERROR:  String
    '::::::::::::::\n<RTE_SDK_PATH>VERSION\n::::::::::::::\n19' cannot be
    converted to int

The command 'more' prints the file name before the actual
contents of the file when it's being run without a controlling terminal.
This could happen in CI environments.

Please refer to:
https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/tree/text-utils/more.c

Fixes: c04172b5f031 ("build: add single source of DPDK version number")
Fixes: d320fe56bd51 ("build: use version number from config file")

Signed-off-by: Ali Alnubani <alia...@mellanox.com>
Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
---
Changes in v2:
        - Use find_program to fallback to 'more'.
        - Update patch title.

 meson.build | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meson.build b/meson.build
index fa6bf3d07..6061c4b1e 100644
--- a/meson.build
+++ b/meson.build
@@ -3,8 +3,9 @@
 
 project('DPDK', 'C',
        # Get version number from file.
-       # Use "more" rather than "cat" for windows compatibility.
-       version: run_command('more', files('VERSION')).stdout().strip(),
+       # Fallback to "more" for Windows compatibility.
+       version: run_command(find_program('cat', 'more'),
+               files('VERSION')).stdout().strip(),
        license: 'BSD',
        default_options: ['buildtype=release', 'default_library=static'],
        meson_version: '>= 0.47.1'
-- 
2.19.2

Reply via email to