Linux Centos 7 не может установить пакет png и EBImage на R

Linux Centos 7 не может установить пакет png и EBImage на R

Я пытаюсь установить png и пакет EBImage R на моей машине Linux Centos 7. У меня всегда появляется следующее сообщение об ошибке:

    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 требуется libpng16.so.16(ветка 1.6.), тогда как в 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

По какой-то причине наличие Anaconda на RHEL/Centos 7 вызывает эту проблему. Вероятно, потому что Anaconda устанавливает более новую версию libpng.

Мне удалось установить другой пакет, имеющий ту же pngзависимость, временно удалив anaconda из PATHраспознаваемых R пакетов. После того, как я это сделал, pngпакет и его зависимый пакет установились без проблем.

решение3

Мне удалось установить EBImage на моем компьютере с Linux Centos 7. sudo cp /usr/local/lib/libpng16.so.16 /usr/libпроблема решена

Связанный контент