私はしばらくの間、オフィスのデスクトップコンピューターでRプロジェクトに取り組んできましたが、旅行中にスクリプトを携帯する必要があります。すべてをラップトップにコピーし、コードにいくつかの変更を加えました。悲しいかな、コンパイルしようとすると(デスクトップコンピューターで使用していたのとまったく同じ手順に従って)、次のエラーが発生しました。
$ R CMD INSTALL --no-multiarch --with-keep.source coala
* installing to library ‘/home/my_pc/R/x86_64-pc-linux-gnu-library/3.3’
* installing *source* package ‘coala’ ...
** libs
make: Nothing to be done for `all'.
installing to /home/my_pc/R/x86_64-pc-linux-gnu-library/3.3/coala/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/home/my_pc/R/x86_64-pc-linux-gnu-library/3.3/coala/libs/coala.so':
/home/my_pc/R/x86_64-pc-linux-gnu-library/3.3/coala/libs/coala.so: undefined symbol: _ZSt24__throw_out_of_range_fmtPKcz
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/home/my_pc/R/x86_64-pc-linux-gnu-library/3.3/coala’
* restoring previous ‘/home/my_pc/R/x86_64-pc-linux-gnu-library/3.3/coala’
両方のコンピューターのUbuntuは同じですが、Rバージョンが異なります。また、私は同時に2つのライブラリで作業していること、および付随するライブラリが問題なく更新されているため、このエラーメッセージはさらに不可解です。この質問に関連する可能性のある回答を確認しましたが、それらの解決策を適用する方法がわかりません。
R:パッケージのインストールエラーUBUNTU-dyn.load(file、DLLpath = DLLpath、...)のエラー:共有オブジェクトをロードできませんGotメッセージが共有オブジェクトのstats.soをロードできませんRが開始したとき
この問題を解決する方法はありますか?どちらが原因でしょうか?未定義のシンボルとは_ZSt24__throw_out_of_range_fmtPKcz
?
Ubuntuのrgdal
でも同様の問題がありました。パッケージを再インストールするだけで、再び機能するようになりました。
$ Sudo R
> install.packages("rgdal")
> quit()
$ exit
.libPaths()
は何を出力として提供していますか?
今日、最新のアップデートを使用して同じ問題が発生しました(MacOS XのR 3.3.1)。 Rのインストールは、アップデート後にクラッシュしたようです。私の解決策は、ファイルシステムからlibディレクトリを削除し、Rを再インストールすることでした。
rm -rf /Users/johann/Library/R/3.3/library
Sudo rm -rf Library/Frameworks/R.framework/Versions/3.3/Resources/library
お役に立てれば...
open /Library/Frameworks/R.framework/Resources/library
_を貼り付け、Enterキーを押します。 Finderウィンドウがたくさんのフォルダで開くはずですinstall.packages("dplyr")
などを使用して必要なパッケージをインストールします。私がこれをした後、問題は消えました
問題は、g ++ stdlibとのリンケージです。 Ubuntuのバージョンによって、g ++ stdlibのバージョンが異なります。常に一方から他方へバイナリをコピーすることはできません。
これを修正するには、ラップトップ用にRを再コンパイルするか、Ubuntu Rパッケージを使用します。例えば http://packages.ubuntu.com/xenial/r-base