Files
buildroot/package/mariadb/Config.in
Romain Naour de9c0f971c package/mariadb: workaround cmake < 3.30 check TRY_RUN issue
The last mariadb version bump [1] added -DHAVE_SYSTEM_LIBFMT_EXITCODE=0
to workaround cross-compiling issue during libfmt cmake check.
But it actually requies at least cmake >= 3.30 to work.
Indeed, our docker image used by Gitlab-CI uses cmake 3.25.1 and
segfault while testing for libfmt.

  -- Performing Test HAVE_SYSTEM_LIBFMT
  /bin/bash: line 1: 163369 Segmentation fault

  $ cmake --version
  cmake version 3.25.1

Using the same TestPerlDBDmysql configuration locally with
cmake 3.30.8 installed build fine.

Looking at cmake cmTryRunCommand.cxx history from 3.30.x show that
several fixes about cross-compiling isses were applied to cmake 3.26.x
[2] probably solving the issue. Requires BR2_HOST_CMAKE_AT_LEAST_3_30
for now, since only cmake 3.30.8 installed locally was tested.

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/11271124486 (TestPerlDBDmysql)
https://gitlab.com/buildroot.org/buildroot/-/jobs/11271124439 (TestMariaDB)

[1] 6cd8f95346 ("package/mariadb: bump version to 10.11.11")
[2] https://gitlab.kitware.com/cmake/cmake/-/commits/v3.30.9/Source/cmTryRunCommand.cxx?ref_type=tags

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-09-14 00:25:06 +02:00

45 lines
1.4 KiB
Plaintext

config BR2_PACKAGE_MARIADB
bool "mariadb"
depends on BR2_INSTALL_LIBSTDCPP # fmt
depends on !BR2_STATIC_LIBS
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8
depends on BR2_USE_WCHAR # fmt
select BR2_PACKAGE_LIBAIO
select BR2_PACKAGE_LIBXML2
select BR2_PACKAGE_FMT
select BR2_PACKAGE_NCURSES
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL
select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL
select BR2_PACKAGE_PCRE2
# HAVE_SYSTEM_LIBFMT cmake < 3.30 check TRY_RUN issue
select BR2_HOST_CMAKE_AT_LEAST_3_30
help
MariaDB is one of the most popular database servers in the
world. It's made by the original developers of MySQL and
guaranteed to stay open source.
http://www.mariadb.org/
if BR2_PACKAGE_MARIADB
config BR2_PACKAGE_MARIADB_SERVER
bool "mariadb server"
help
Install the mariadb server on the target.
config BR2_PACKAGE_MARIADB_SERVER_EMBEDDED
bool "mariadb embedded server"
depends on BR2_PACKAGE_MARIADB_SERVER
help
Install the mariadb embedded server on the target.
endif
comment "mariadb needs a toolchain w/ dynamic library, C++, threads, wchar"
depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \
|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8