首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载共享库时出错;文件太短

加载共享库时出错;文件太短
EN

Unix & Linux用户
提问于 2019-06-07 08:09:20
回答 2查看 39.7K关注 0票数 9

我正在CentOS 7工作站上工作。我已经安装了Rstudio,直到最近它才正常工作。但是现在,如果我试图在http://localhost:8787/上启动它,我会得到一个错误,上面写着Unable to connect to service

我检查了R在终端中是否正常工作,并得到了以下错误。

代码语言:javascript
复制
/usr/lib64/R/bin/exec/R: error while loading shared libraries: /lib/libgcc_s.so.1: file too short

如果我再次尝试使用以下命令安装R,sudo yum install R -y将得到以下答复

代码语言:javascript
复制
Package R-3.5.2-2.el7.x86_64 already installed and latest version
Nothing to do

我该怎么做?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2019-06-07 09:01:26

你的.so坏了。

通常,您可以发出以下命令来查找它所属的包:

代码语言:javascript
复制
yum provides \*/<so_file>

就你而言:

代码语言:javascript
复制
$ yum provides \*/libgcc_s.so.1
[...]
libgcc-4.4.6-4.el6.i686 : GCC version 4.4 shared support library
Repo : base
Matched from:
Filename : /lib/libgcc_s.so.1
[...]

在这种情况下,我们需要libgcc-4.4.6-4.el6.i686,您将得到另一个版本。

你需要重新安装那个软件包。

代码语言:javascript
复制
yum reinstall libgcc-<version>.i686
票数 7
EN

Unix & Linux用户

发布于 2022-12-05 07:56:41

在我的例子中,我得到了ld : error : myfile: file too short,或者有时:

代码语言:javascript
复制
ld: warning: myfile has a section extending past end of file
ld : error : myfile: ELF section name out of range

因为我正在修补Nix,一个包含源代码和二进制blob…的文件夹。而且,由于要修补的文件数量很高,所以我使用一个脚本同时对它们进行修补(使用findsed -i)。不幸的是,sed也被应用于二进制文件,这完全破坏了它们。

我意识到,通过在修补之前和之后打印objdump -a myfile (在第二种情况下,我会得到一个错误)。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/523487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档