Centos 7: Unknown method "substring" for a string
With Centos 7 and Mariadb, this is the full log in /home/centos/pam-MySQL-build/meson-logs/meson-log.txt
=========================================================
Build started at 2024-01-15T21:36:01.111737 Main binary: /usr/bin/python3 Build Options: Python system: Linux The Meson build system Version: 0.55.1 Source dir: /home/centos/pam-MySQL-master Build dir: /home/centos/pam-MySQL-build Build type: native build None of 'PKG_CONFIG_PATH' are defined in the environment, not changing global flags. None of 'PKG_CONFIG_PATH' are defined in the environment, not changing global flags. Project name: pam-mySQL Project version: 0.9-alpha1 None of 'CC' are defined in the environment, not changing global flags. None of 'CFLAGS' are defined in the environment, not changing global flags. None of 'LDFLAGS' are defined in the environment, not changing global flags. None of 'CPPFLAGS' are defined in the environment, not changing global flags. None of 'CC_LD' are defined in the environment, not changing global flags. Sanity testing C compiler: cc Is cross compiler: False. None of 'CC_LD' are defined in the environment, not changing global flags. Sanity check compiler command line: cc /home/centos/pam-MySQL-build/meson-private/sanitycheckc.c -o /home/centos/pam-MySQL-build/meson-private/sanitycheckc.exe -pipe -D_FILE_OFFSET_BITS=64 Sanity check compile stdout:
Sanity check compile stderr:
Running test binary command: /home/centos/pam-MySQL-build/meson-private/sanitycheckc.exe C compiler for the build machine: cc (gcc 4.8.5 "cc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)") C linker for the build machine: cc ld.bfd 2.27-44 None of 'AR' are defined in the environment, not changing global flags. None of 'CC' are defined in the environment, not changing global flags. None of 'CFLAGS' are defined in the environment, not changing global flags. None of 'LDFLAGS' are defined in the environment, not changing global flags. None of 'CPPFLAGS' are defined in the environment, not changing global flags. None of 'CC_LD' are defined in the environment, not changing global flags. Sanity testing C compiler: cc Is cross compiler: False. None of 'CC_LD' are defined in the environment, not changing global flags. Sanity check compiler command line: cc /home/centos/pam-MySQL-build/meson-private/sanitycheckc.c -o /home/centos/pam-MySQL-build/meson-private/sanitycheckc.exe -pipe -D_FILE_OFFSET_BITS=64 Sanity check compile stdout:
Sanity check compile stderr:
Running test binary command: /home/centos/pam-MySQL-build/meson-private/sanitycheckc.exe C compiler for the host machine: cc (gcc 4.8.5 "cc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)") C linker for the host machine: cc ld.bfd 2.27-44 None of 'AR' are defined in the environment, not changing global flags. Build machine cpu family: x86_64 Build machine cpu: x86_64 Host machine cpu family: x86_64 Host machine cpu: x86_64 Target machine cpu family: x86_64 Target machine cpu: x86_64 Program mysql_config found: YES Running command: /bin/mysql_config --include --- stdout --- -I/usr/include/mysql -I/usr/include/mysql/mysql
--- stderr ---
meson.build:29:2: ERROR: Unknown method "substring" for a string.
The build works for me when I enable the EPEL and MariaDB repositories; I'm getting a more recent version of Meson too. Could you give me more information about how you've set up your build environment.
I've corrected the requirements - Meson 0.56 or newer is needed, sorry.