Linux Centos 7 は R に png および EBImage パッケージをインストールできません

Linux Centos 7 は R に png および EBImage パッケージをインストールできません

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 によって認識されるpnganaconda を一時的に削除することで、同じパッケージ依存関係を持つ別のパッケージをインストールすることができました。これを実行すると、パッケージとその依存パッケージは問題なくインストールされました。PATHpng

答え3

Linux CentOS 7マシンにEBImageをインストールすることができました。sudo cp /usr/local/lib/libpng16.so.16 /usr/lib問題は解決しました

関連情報