5

当我在 R 中加载 GenomicFeatures 包时,它会弹出一条错误消息:

Loading required package: IRanges
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/home/caohf/R/x86_64-unknown-linux-gnu-library/2.15/IRanges/libs/IRanges.so':
  /lib64/libc.so.6: version `GLIBC_2.7' not found (required by /home/caohf/R/x86_64-unknown-linux-gnu-library/2.15/IRanges/libs/IRanges.so)
Error: package ‘IRanges’ could not be loaded

所以我想安装glibc2.7,源是从这个站点下载的。

我将源配置为非root:

mkdir build
cd build
../configure --prefix=/home/cao/bin

屏幕上出现配置错误:

检查构建系统类型... x86_64-unknown-linux-gnu
检查主机系统类型... x86_64-unknown-linux-gnu
配置:运行附加 nptl 的配置片段
检查 sysdep 目录... sysdeps/x86_64/elf nptl/sysdeps/unix/sysv/linux/x86_64 sysdeps/unix/sysv/linux/x86_64 sysdeps/unix/sysv/linux/wordsize-64 nptl/sysdeps/unix/sysv/ linux nptl/sysdeps/pthread sysdeps/pthread sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/unix/inet nptl/sysdeps/unix/sysv sysdeps/unix/sysv sysdeps/unix/ x86_64 nptl/sysdeps/unix sysdeps/unix sysdeps/posix sysdeps/x86_64/fpu nptl/sysdeps/x86_64 sysdeps/x86_64 sysdeps/wordsize-64 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt- 32 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic 检查兼容 BSD 的安装... /usr/bin/install -c
检查 ln -s 是否有效... 是
检查 gcc... gcc
检查后缀目标文件... o
检查我们是否使用 GNU C 编译器...是
检查 gcc 是否接受 -g...是
检查 gcc 选项以接受 ISO C89...不需要
检查如何运行 C 预处理器... gcc -E
检查对于 g++... g++
检查我们是否使用 GNU C++ 编译器... 是
检查 g++ 是否接受 -g... 是
检查 ranlib... ranlib
检查 /usr/libexec/binutils220/as 是否是 GNU as。 ..是
检查ld是否是GNU ld...是
检查/usr/libexec/binutils220/as.../usr/libexec/binutils220/as
检查版本/usr/libexec/binutils220/as...2.20。 51.0.2,
对 ld 的错误检查... ld
检查 ld... 2.17.50.0.6 的版本,可以
检查 pwd... /bin/pwd
检查 gcc... gcc
检查 gcc 的版本... 4.4.6,
可以检查 gnumake... 否
检查 gmake... gmake 检查 gmake 的版本... 3.81,好的
检查 gnumsgfmt... 不
检查 gmsgfmt... 不
检查 msgfmt... msgfmt
检查 msgfmt 的版本... 0.14.6,好的
检查 makeinfo... 不
检查 sed... sed
检查 sed 版本... 4.1.5,正常
检查 autoconf... autoconf
检查 autoconf 是否有效... 是
configure: error:
这些关键程序丢失或太旧:如
检查安装文件以获取所需的版本。

下面是在安装文件(和我系统中的版本)中推荐的编译工具:

1 GNU make 3.79 或更新
我的系统:

GNU Make 3.81

2 GCC 3.4 或更新版本,GCC 4.1 推荐
我的系统:

gcc 版本 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)

3 GNU binutils 2.15 或更高版本
我不知道如何检查 binutils 的版本,但是

 as -v
 ld -v

GNU 汇编器版本 2.17.50.0.6-12.el5 (x86_64-redhat-linux) 使用 BFD 版本 2.17.50.0.6-12.el5 20061020
GNU ld 版本 2.17.50.0.6-12.el5 20061020

4 GNU texinfo 3.12f
我也没有版本?需要帮忙

5 GNU awk 3.0,或更高版本
我的系统:

GNU awk 3.1.5

6 Perl 5
矿井:

这是为 x86_64-linux-thread-multi 构建的 perl,v5.10.1 (*)

7 GNU sed 3.02 或更新
的我的:

GNU sed 版本 4.1.5

8 GNU autoconf 2.53 或更高版本

自动配置 (GNU Autoconf) 2.59

9 GNU gettext 0.10.36 或更高版本的我的:

gettext (GNU gettext-runtime) 0.14.6

我在 :

CentOS release 5.4 (Final)
Linux iodel-01 2.6.18-164.6.1.el5

我是否必须安装较新版本的 glibc,我担心系统的软件包对于较新的软件包来说太旧了。我怎么能弄明白?谢谢你

4

2 回答 2

3

我遇到了类似的问题。问题在于 configure.in 文件中 as,ld 的正则表达式。

知道我有 2.20 肯定大于 2.15(根据安装文件),我从

[2.1[3-9]*]

我将版本检查注释为 as,ld。从技术上讲,我应该修复那个正则表达式,但不幸的是这样的东西没有用

[2.20*]

因为我不想浪费太多时间,所以现在只是评论它并从配置文件中删除检查。稍后将使用适当的正则表达式更新帖子。

于 2018-09-10T10:46:23.957 回答
0

当我使用 Debian(稳定分支)时,我的系统上多次遇到这个问题,众所周知,它有过时的软件包。据我所知,唯一的办法就是升级glibc,也就是升级整个系统。如果你有很多时间,你可以升级 JUST glibc,但这通常比它的价值更麻烦,因为新版本可能有更新的符号,旧的符号可能已经重新定位。希望这可以帮助。

于 2014-08-20T16:52:06.180 回答