使用自定义 gcc 安装时出现 glibc 'make check' 错误

glibc 'make check' errors when using custom gcc install

我正在尝试在 RHEL-7.9 上编译 glibc-2.33

作为其中的一部分,我正在使用内部部署的自定义 gcc /opt/custom/

我能够在自定义路径下正确编译和使用工具,直到 运行 make check 检查所有内容。检查报告如下:

Summary of test results:
    138 FAIL
   4090 PASS
     57 UNSUPPORTED
     16 XFAIL
      2 XPASS

检查多项测试后,我不断看到此错误消息:

libgcc_s.so.1 must be installed for pthread_cancel to work

在查看测试本身的调用方式后,我能够确定自定义 gcc 位置的路径未添加到 --library-path 调用中。示例:

/disk01/dgardner/rpms/rpms/glibc/SOURCES/build/elf/ld-linux-x86-64.so.2 --library-path /disk01/dgardner/rpms/rpms/glibc/SOURCES/build:/disk01/dgardner/rpms/rpms/glibc/SOURCES/build/math:/disk01/dgardner/rpms/rpms/glibc/SOURCES/build/elf:/disk01/dgardner/rpms/rpms/glibc/SOURCES/build/dlfcn:/disk01/dgardner/rpms/rpms/glibc/SOURCES/build/nss:/disk01/dgardner/rpms/rpms/glibc/SOURCES/build/nis:/disk01/dgardner/rpms/rpms/glibc/SOURCES/build/rt:/disk01/dgardner/rpms/rpms/glibc/SOURCES/build/resolv:/disk01/dgardner/rpms/rpms/glibc/SOURCES/build/mathvec:/disk01/dgardner/rpms/rpms/glibc/SOURCES/build/support:/disk01/dgardner/rpms/rpms/glibc/SOURCES/build/crypt:/disk01/dgardner/rpms/rpms/glibc/SOURCES/build/nptl /disk01/dgardner/rpms/rpms/glibc/SOURCES/build/nptl/tst-robust1

这个错误。

如果我使用自定义 gcc 安装位置手动添加到 --library-path,则测试有效 - 例如

/disk01/dgardner/rpms/rpms/glibc/SOURCES/build/elf/ld-linux-x86-64.so.2 --library-path ${PREVIOUS_FROM_ABOVE}:/opt/custom/lib64 /disk01/dgardner/rpms/rpms/glibc/SOURCES/build/nptl/tst-robust1

到目前为止,我无法找到在测试期间指定此额外库路径的方法。

有谁知道将此自定义库路径添加到“make check”期间传入的 --library-path 的方法吗?

我已经通读了 glibc 提供的安装指南和自述文件,并且尝试了配置中指定的一些环境变量,但没有成功。

我也通读了 glibc FAQ 编译,也没有运气。

经过更多的挖掘,我能够在 glibc 下找到合适的答案 release notes wiki for 2.33

具体来说,这个片段:

If the test system does not have suitable copies of libgcc_s.so and libstdc++.so installed in system library directories, it is necessary to copy or symlink them into the build directory before testing (see https://sourceware.org/ml/libc-alpha/2012-04/msg01014.html regarding the use of system library directories here).