私は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
ソース コードとバイナリ BLOB の両方を含むフォルダーを Nix にパッチ適用していたため、パッチを適用するファイルの数が多かったため、スクリプトを使用してすべてに同時にパッチを適用しました (およびを使用find
) sed -i
。残念ながら、sed
バイナリ ファイルにも が適用され、ファイルが完全に破損しました。
パッチ適用の前後を印刷するとobjdump -a myfile
、2 番目のケースではエラーが発生することに気付きました。