Я пытаюсь установить 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
проблема решена