Проблемы с зависимостями при установке libmagick ++ - dev в Ubuntu 18.04

Я пытаюсь использовать install splashr, но сталкиваюсь с некоторыми проблемами с зависимостями, и, похоже, ничего не работает. Я знаю, что это больше связано с неправильной конфигурацией в ОС, чем с проблемами в самом пакете, но, возможно, вы, ребята, могли бы дать некоторые рекомендации. Обычно при попытке установить splashr я получаю следующий журнал:

> install.packages("splashr")
Installing package into ‘/home/guilherme/R/x86_64-pc-linux-gnu-library/3.4’
(as ‘lib’ is unspecified)
also installing the dependency ‘magick’

trying URL 'https://cloud.r-project.org/src/contrib/magick_2.5.0.tar.gz'
Content type 'application/x-gzip' length 4824979 bytes (4.6 MB)
==================================================
downloaded 4.6 MB

trying URL 'https://cloud.r-project.org/src/contrib/splashr_0.6.0.tar.gz'
Content type 'application/x-gzip' length 1099679 bytes (1.0 MB)
==================================================
downloaded 1.0 MB

* installing *source* package ‘magick’ ...
** package ‘magick’ successfully unpacked and MD5 sums checked
Package Magick++ was not found in the pkg-config search path.
Perhaps you should add the directory containing `Magick++.pc'
to the PKG_CONFIG_PATH environment variable
No package 'Magick++' found
Using PKG_CFLAGS=
Using PKG_LIBS=-lMagick++-6.Q16
--------------------------- [ANTICONF] --------------------------------
Configuration failed to find the Magick++ library. Try installing:
 - deb: libmagick++-dev (Debian, Ubuntu)
 - rpm: ImageMagick-c++-devel (Fedora, CentOS, RHEL)
 - csw: imagemagick_dev (Solaris)
 - brew imagemagick@6 (MacOS)
For Ubuntu versions Trusty (14.04) and Xenial (16.04) use our PPA:
   sudo add-apt-repository -y ppa:cran/imagemagick
   sudo apt-get update
   sudo apt-get install -y libmagick++-dev
If Magick++ is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a Magick++.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
-------------------------- [ERROR MESSAGE] ---------------------------
<stdin>:1:10: fatal error: Magick++.h: No such file or directory
compilation terminated.
--------------------------------------------------------------------
ERROR: configuration failed for package ‘magick’
* removing ‘/home/guilherme/R/x86_64-pc-linux-gnu-library/3.4/magick’
Warning in install.packages :
  installation of package ‘magick’ had non-zero exit status
ERROR: dependency ‘magick’ is not available for package ‘splashr’
* removing ‘/home/guilherme/R/x86_64-pc-linux-gnu-library/3.4/splashr’
Warning in install.packages :
  installation of package ‘splashr’ had non-zero exit status

The downloaded source packages are in
    ‘/tmp/Rtmp8hJktb/downloaded_packages’

Он жалуется на то, что Magick ++ не найден, и приводит к еще одной неудачной установке пакета magick, от которого он зависит. Результат аналогичен:

> install.packages("magick")
Installing package into ‘/home/guilherme/R/x86_64-pc-linux-gnu-library/3.4’
(as ‘lib’ is unspecified)
trying URL 'https://cloud.r-project.org/src/contrib/magick_2.5.0.tar.gz'
Content type 'application/x-gzip' length 4824979 bytes (4.6 MB)
==================================================
downloaded 4.6 MB

* installing *source* package ‘magick’ ...
** package ‘magick’ successfully unpacked and MD5 sums checked
Package Magick++ was not found in the pkg-config search path.
Perhaps you should add the directory containing `Magick++.pc'
to the PKG_CONFIG_PATH environment variable
No package 'Magick++' found
Using PKG_CFLAGS=
Using PKG_LIBS=-lMagick++-6.Q16
--------------------------- [ANTICONF] --------------------------------
Configuration failed to find the Magick++ library. Try installing:
 - deb: libmagick++-dev (Debian, Ubuntu)
 - rpm: ImageMagick-c++-devel (Fedora, CentOS, RHEL)
 - csw: imagemagick_dev (Solaris)
 - brew imagemagick@6 (MacOS)
For Ubuntu versions Trusty (14.04) and Xenial (16.04) use our PPA:
   sudo add-apt-repository -y ppa:cran/imagemagick
   sudo apt-get update
   sudo apt-get install -y libmagick++-dev
If Magick++ is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a Magick++.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
-------------------------- [ERROR MESSAGE] ---------------------------
<stdin>:1:10: fatal error: Magick++.h: No such file or directory
compilation terminated.
--------------------------------------------------------------------
ERROR: configuration failed for package ‘magick’
* removing ‘/home/guilherme/R/x86_64-pc-linux-gnu-library/3.4/magick’
Warning in install.packages :
  installation of package ‘magick’ had non-zero exit status

The downloaded source packages are in
    ‘/tmp/Rtmp8hJktb/downloaded_packages’

Итак, я захожу в терминал, чтобы установить недостающие пакеты libmagick ++ - dev, но это тоже не идет далеко, потому что продолжает запрашивать зависимости зависимостей:

Следующие пакеты имеют неудовлетворенные зависимости: libmagick ++ - dev: Зависит от: libmagick ++ - 6.q16-dev, но он не будет установлен

И дерево зависимостей продолжается:

libmagick++-dev 
    libmagick++-6.q16-dev 
        libmagickcore-6.q16-dev 
            libmagickwand-6.q16-dev 
                librsvg2-dev 
                    libcairo2-dev 
                        libfontconfig1-dev 
                            libfontconfig1 

Я не могу установить ни один из них из-за ошибки: " ... но он не будет установлен "

Я уже пытался несколько раз удалить / установить imagemagick, но безрезультатно.

Это некоторая информация о переменных env.

$PATH:
/home/guilherme/.local/share/umake/bin:/home/guilherme/bin:/home/guilherme/.local/share/umake/bin:/home/guilherme/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/home/guilherme/.config/composer/vendor/bin:bin/msys-ssh-1000-18:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/home/guilherme/.fzf/bin:/home/guilherme/.config/composer/vendor/bin

$ PKG_CONFIG_PATH: (пусто)

lsb_release -a: 
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.5 LTS
Release:        18.04
Codename:       bionic

Я совершенно заблудился. Может ли кто-нибудь помочь мне с этим?

Edit: Согласно предложению N0rbert, это результат политики apt-cache policy libmagick ++ - 6.q16-dev :

libmagick++-6.q16-dev:
  Installed: (none)
  Candidate: 8:6.9.7.4+dfsg-16ubuntu6.8
  Version table:
     8:6.9.7.4+dfsg-16ubuntu6.8 500
        500 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu bionic-security/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
     8:6.9.7.4+dfsg-16ubuntu6 500
        500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
1
задан 28 October 2020 в 20:13

2 ответа

Необходимый файл Magick ++. pc файл содержится в libmagick ++ - 6.q16-dev , который доступен из карманов bionic-updates и / или bionic-security . Поэтому вам нужно сначала проверить свои репозитории, запустив программное обеспечение и обновления ( software-properties-gtk ) или отредактировав вручную /etc/apt/sources.list .

Затем файл Следующие команды в полностью обновленной системе LTS 18.04 приведут к успешной компиляции:

sudo apt-get install r-base-dev libcurl4-openssl-dev libxml2-dev libssl-dev libmagick++-6.q16-dev

и, наконец, в сеансе R :

install.packages("splashr")

должны завершиться успешно.

0
ответ дан 4 January 2021 в 08:18

Я выяснил это с помощью сопровождающего репозитория magick в этом выпуске . В итоге основная проблема была в libfontconfig1 , у меня была версия 2.3, но запрошенная версия была 2:

$ sudo apt install libfontconfig1-dev 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libfontconfig1-dev : Depends: libfontconfig1 (= 2.12.6-0ubuntu2) but 2.12.6-0ubuntu2.3 is to be installed
E: Unable to correct problems, you have held broken packages.

Я просто принудительно установил версию 2, как предложил Jeroen :

sudo apt-get install libfontconfig1=2.12.6-0ubuntu2

После этого все зависимости снизу установились без проблем.

0
ответ дан 4 January 2021 в 08:18

Другие вопросы по тегам:

Похожие вопросы: