Fedora 40 recently changed to move malloc debugging out of glibc into glibc-utils (https://issues.redhat.com/browse/RHEL-35971). Reflect that in our CI, to avoid spurious test failures from tons of messages like:
ERROR: ld.so: object 'libc_malloc_debug.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. by regenerating with https://gitlab.com/libvirt/libvirt-ci/-/merge_requests/491 Also, change configure.ac to gracefully skip malloc debugging when glibc-utils is not installed. Signed-off-by: Eric Blake <ebl...@redhat.com> --- I plan on pushing this once my libvirt-ci merge request is accepted (this may need tweaking based on reviews on that side of things) configure.ac | 9 +++++++-- README.md | 1 + ci/buildenv/fedora-39.sh | 1 + ci/buildenv/fedora-40-cross-mingw32.sh | 1 + ci/buildenv/fedora-40-cross-mingw64.sh | 1 + ci/buildenv/fedora-40.sh | 1 + ci/buildenv/fedora-rawhide.sh | 1 + ci/containers/fedora-39.Dockerfile | 1 + ci/containers/fedora-40-cross-mingw32.Dockerfile | 1 + ci/containers/fedora-40-cross-mingw64.Dockerfile | 1 + ci/containers/fedora-40.Dockerfile | 1 + ci/containers/fedora-rawhide.Dockerfile | 1 + ci/lcitool/projects/nbdkit.yml | 1 + 13 files changed, 19 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index aaff4aae..89187b45 100644 --- a/configure.ac +++ b/configure.ac @@ -622,14 +622,19 @@ AS_IF([test "x$is_windows" = "xyes"],[ dnl See if getaddrinfo requires an external library. AC_SEARCH_LIBS([getaddrinfo], [network socket]) -dnl Does this platform require libc_malloc_debug.so.0 (glibc >= 2.34)? +dnl Does this platform support libc_malloc_debug.so.0 (glibc >= 2.34)? AC_MSG_CHECKING([if this is glibc >= 2.34]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <limits.h> #if !defined(__GLIBC__) || __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 34) #error "not glibc 2.34" #endif - ]])], [is_glibc_234=yes], [is_glibc_234=no] + ]])], + [if (LD_PRELOAD=libc_malloc_debug.so.0 /bin/true) 2>&1 | grep -v .; then + is_glibc_234=yes + else + is_glibc_234='missing suitable libc_malloc_debug.so.0' + fi], [is_glibc_234=no] ) AC_MSG_RESULT([$is_glibc_234]) AM_CONDITIONAL([HAVE_GLIBC_234], [test "x$is_glibc_234" = "xyes"]) diff --git a/README.md b/README.md index 2f9452c8..02ed7644 100644 --- a/README.md +++ b/README.md @@ -184,6 +184,7 @@ For non-essential enhancements to the test suite: * hexdump * ip, ss (from iproute package) * jq +* libc_malloc_debug.so.0 (from glibc-utils) * losetup (from util-linux) * mke2fs (from e2fsprogs) * nbdcopy, nbdinfo, nbdsh (from libnbd) diff --git a/ci/buildenv/fedora-39.sh b/ci/buildenv/fedora-39.sh index 98ee274f..638badbd 100644 --- a/ci/buildenv/fedora-39.sh +++ b/ci/buildenv/fedora-39.sh @@ -25,6 +25,7 @@ function install_buildenv() { gcc-c++ \ genisoimage \ git \ + glibc \ glibc-langpack-en \ gnutls-devel \ golang \ diff --git a/ci/buildenv/fedora-40-cross-mingw32.sh b/ci/buildenv/fedora-40-cross-mingw32.sh index 8de2a5dd..b1638bfa 100644 --- a/ci/buildenv/fedora-40-cross-mingw32.sh +++ b/ci/buildenv/fedora-40-cross-mingw32.sh @@ -22,6 +22,7 @@ function install_buildenv() { genisoimage \ git \ glibc-langpack-en \ + glibc-utils \ golang \ gzip \ iproute \ diff --git a/ci/buildenv/fedora-40-cross-mingw64.sh b/ci/buildenv/fedora-40-cross-mingw64.sh index e7013c38..2965e0e7 100644 --- a/ci/buildenv/fedora-40-cross-mingw64.sh +++ b/ci/buildenv/fedora-40-cross-mingw64.sh @@ -22,6 +22,7 @@ function install_buildenv() { genisoimage \ git \ glibc-langpack-en \ + glibc-utils \ golang \ gzip \ iproute \ diff --git a/ci/buildenv/fedora-40.sh b/ci/buildenv/fedora-40.sh index 98ee274f..5f90faa4 100644 --- a/ci/buildenv/fedora-40.sh +++ b/ci/buildenv/fedora-40.sh @@ -26,6 +26,7 @@ function install_buildenv() { genisoimage \ git \ glibc-langpack-en \ + glibc-utils \ gnutls-devel \ golang \ gzip \ diff --git a/ci/buildenv/fedora-rawhide.sh b/ci/buildenv/fedora-rawhide.sh index 88a8dfdc..e11fe698 100644 --- a/ci/buildenv/fedora-rawhide.sh +++ b/ci/buildenv/fedora-rawhide.sh @@ -27,6 +27,7 @@ function install_buildenv() { genisoimage \ git \ glibc-langpack-en \ + glibc-utils \ gnutls-devel \ golang \ gzip \ diff --git a/ci/containers/fedora-39.Dockerfile b/ci/containers/fedora-39.Dockerfile index bf9f8ff4..0908b026 100644 --- a/ci/containers/fedora-39.Dockerfile +++ b/ci/containers/fedora-39.Dockerfile @@ -36,6 +36,7 @@ exec "$@"\n' > /usr/bin/nosync && \ gcc-c++ \ genisoimage \ git \ + glibc \ glibc-langpack-en \ gnutls-devel \ golang \ diff --git a/ci/containers/fedora-40-cross-mingw32.Dockerfile b/ci/containers/fedora-40-cross-mingw32.Dockerfile index 963b836b..e90b7492 100644 --- a/ci/containers/fedora-40-cross-mingw32.Dockerfile +++ b/ci/containers/fedora-40-cross-mingw32.Dockerfile @@ -33,6 +33,7 @@ exec "$@"\n' > /usr/bin/nosync && \ genisoimage \ git \ glibc-langpack-en \ + glibc-utils \ golang \ gzip \ iproute \ diff --git a/ci/containers/fedora-40-cross-mingw64.Dockerfile b/ci/containers/fedora-40-cross-mingw64.Dockerfile index 58554b97..90f8f752 100644 --- a/ci/containers/fedora-40-cross-mingw64.Dockerfile +++ b/ci/containers/fedora-40-cross-mingw64.Dockerfile @@ -33,6 +33,7 @@ exec "$@"\n' > /usr/bin/nosync && \ genisoimage \ git \ glibc-langpack-en \ + glibc-utils \ golang \ gzip \ iproute \ diff --git a/ci/containers/fedora-40.Dockerfile b/ci/containers/fedora-40.Dockerfile index 1b37f724..2aba9a66 100644 --- a/ci/containers/fedora-40.Dockerfile +++ b/ci/containers/fedora-40.Dockerfile @@ -37,6 +37,7 @@ exec "$@"\n' > /usr/bin/nosync && \ genisoimage \ git \ glibc-langpack-en \ + glibc-utils \ gnutls-devel \ golang \ gzip \ diff --git a/ci/containers/fedora-rawhide.Dockerfile b/ci/containers/fedora-rawhide.Dockerfile index 034f621f..e08dc12b 100644 --- a/ci/containers/fedora-rawhide.Dockerfile +++ b/ci/containers/fedora-rawhide.Dockerfile @@ -38,6 +38,7 @@ exec "$@"\n' > /usr/bin/nosync && \ genisoimage \ git \ glibc-langpack-en \ + glibc-utils \ gnutls-devel \ golang \ gzip \ diff --git a/ci/lcitool/projects/nbdkit.yml b/ci/lcitool/projects/nbdkit.yml index 1f2fe259..979ab23a 100644 --- a/ci/lcitool/projects/nbdkit.yml +++ b/ci/lcitool/projects/nbdkit.yml @@ -23,6 +23,7 @@ packages: - hexdump - ip - jq + - libc-malloc-debug - libcurl - libguestfs - liblzma -- 2.45.1 _______________________________________________ Libguestfs mailing list -- guestfs@lists.libguestfs.org To unsubscribe send an email to guestfs-le...@lists.libguestfs.org