使用自定义 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).
我正在尝试在 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).