From 221447d5ba7bdca25f9a7b3975af0e0c6aa6ee19 Mon Sep 17 00:00:00 2001 From: David Mulder Date: Wed, 28 Aug 2024 13:34:09 -0600 Subject: [PATCH] glibc needs to be at least vers 2.32 for rust The libc crate won't build on versions older than 2.32. Signed-off-by: David Mulder Reviewed-by: Alexander Bokovoy --- script/autobuild.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/script/autobuild.py b/script/autobuild.py index 700e1148bc8..972bf127a6e 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -20,6 +20,13 @@ from sysconfig import get_path import platform import ssl +def get_libc_version(): + import ctypes + libc = ctypes.CDLL("libc.so.6") + gnu_get_libc_version = libc.gnu_get_libc_version + gnu_get_libc_version.restype = ctypes.c_char_p + return gnu_get_libc_version().decode() + import logging try: @@ -170,10 +177,14 @@ builddirs = { ctdb_configure_params = " --enable-developer ${PREFIX}" samba_configure_params = " ${ENABLE_COVERAGE} ${PREFIX} --with-profiling-data" -# We cannot configure himmelblau on old systems missing openssl 3 +# We cannot configure himmelblau on old systems missing openssl 3 or with glibc +# older than version 2.32. himmelblau_configure_params = '' -rust_configure_param = ' --enable-rust' -if ssl.OPENSSL_VERSION_INFO[0] >= 3: +rust_configure_param = '' +glibc_vers = float('.'.join(get_libc_version().split('.')[:2])) +if glibc_vers >= 2.32: + rust_configure_param = ' --enable-rust' +if ssl.OPENSSL_VERSION_INFO[0] >= 3 and rust_configure_param: himmelblau_configure_params = rust_configure_param + ' --with-himmelblau' samba_libs_envvars = "PYTHONPATH=${PYTHON_PREFIX}:$PYTHONPATH" -- 2.47.3