Linux CentOS 7 マシンに png および EBImage R パッケージをインストールしようと奮闘しています。常に次のエラー メッセージが表示されます:
Error: package or namespace load failed for ‘png’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/home/rico/R/x86_64-redhat-linux-gnu-library/3.6/00LOCK-png/00new/png/libs/png.so':
libpng16.so.16: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/home/rico/R/x86_64-redhat-linux-gnu-library/3.6/png’
Warning in install.packages :
installation of package ‘png’ had non-zero exit status
The downloaded source packages are in
‘/tmp/RtmpX4o4D5/downloaded_packages’
私がやろうとしたこと:
yum install libpng-devel
そして出力は次のようになりました:
Package 2:libpng-devel-1.5.13-7.el7_2.x86_64 already installed and latest version
Nothing to do
この問題を解決する方法をご存知ですか? ありがとうございます。
答え1
R パッケージには (1.6. ブランチ) が必要なようですlibpng16.so.16
が、CentOS 7 のデフォルトはインストールしたもの (1.5 ブランチ、libpng
パッケージ経由で利用可能) です。
もしよろしければコマーシャルリポジトリ、libpng 1.6は以下から入手可能です。GetPageSpeed リポジトリ:
sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm
sudo yum install libpng16
あるいは、ルートファイルシステムにパッケージ化されていないファイルを置くことになるため、あまりお勧めできませんが、以下の場所にあるlibpng16のコンパイル済みバイナリを使用することもできます。ここ: アーカイブを抽出し、プリコンパイルされたライブラリ ファイルから へのシンボリック リンクを作成しlibpng16.so.16
、アーカイブからR
パッケージのインストールへのカスタム インクルード パスを指定します。
答え2
何らかの理由で、RHEL/Centos 7 に Anaconda をインストールすると、この問題が発生します。おそらく、Anaconda は のより新しいバージョンをインストールするためですlibpng
。
R によって認識されるpng
anaconda を一時的に削除することで、同じパッケージ依存関係を持つ別のパッケージをインストールすることができました。これを実行すると、パッケージとその依存パッケージは問題なくインストールされました。PATH
png
答え3
Linux CentOS 7マシンにEBImageをインストールすることができました。sudo cp /usr/local/lib/libpng16.so.16 /usr/lib
問題は解決しました