我正在 CentOS 7 工作站上工作。我已經安裝了 Rstudio,直到最近它都運作良好。但現在,如果我嘗試在以下位置啟動它,http://localhost:8787/
則會收到一條錯誤訊息:Unable to connect to service
我檢查了 R 在終端機中是否正常工作,並收到以下錯誤。
/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
我會收到以下回复
Package R-3.5.2-2.el7.x86_64 already installed and latest version
Nothing to do
我需要做什麼?
答案1
你有一個損壞的.so
。
一般來說,您可以發出以下命令來查找它所屬的套件:
yum provides \*/<so_file>
在你的情況下:
$ 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
您將獲得另一個版本。
您需要重新安裝該軟體包。
yum reinstall libgcc-<version>.i686
答案2
就我而言,我得到ld : error : myfile: file too short
,或有時:
ld: warning: myfile has a section extending past end of file
ld : error : myfile: ELF section name out of range
因為我正在為 Nix 修補一個包含原始程式碼和二進位 blob 的資料夾…而且由於要修補的檔案數量很多,我使用一個腳本同時修補它們(使用find
和sed -i
)。不幸的是,sed
它也應用於二進位文件,這完全損壞了它們。
我意識到透過在objdump -a myfile
修補之前和之後列印(在第二種情況下我會收到錯誤)。