16

Я установил ImageMagick через (с использованием ImageMagick 6.7.3-7)

./configure --prefix=/usr && make && make install

Когда я пытаюсь

gem install imagemagick

я получил

Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... no

Can't install RMagick 2.13.1. Can't find MagickWand.h.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/bin/ruby

Это несмотря на тот факт, что MagickWand.h уже находится в системе в /usr/include/ImageMagick/wand/MagickWand.h . Итак, вопрос в том, как мне заставить компилятор искать там?

11 ответов11

26

Возникла та же проблема с CentOS с использованием последней версии всего (по состоянию на декабрь 2011 г.), и она была исправлена с помощью:

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"

в моем файле .bashrc, чтобы взять MagickCore.pc, затем создал две символические ссылки:

ln -s /usr/local/include/ImageMagick/wand /usr/local/include/wand
ln -s /usr/local/include/ImageMagick/magick /usr/local/include/magick

И вуаля, MagickWand.h был найден, MagickCore.pc был поднят ... гем успешно установлен.

Я полагаю, что другим решением было бы изменить параметры конфигурации, установленные во время установки ImageMagick, но мне не хватает системного администратора, чтобы понять, какой будет правильный вариант и расположение для этих файлов. После 45 минут поисков я не мог понять, где эти файлы должны жить, чтобы они автоматически выбирались системой gem install make.

Ура!

РЕДАКТИРОВАТЬ: 2014-10-01

Просто сделал это снова для CentOS 7, и приведенные выше команды ln не были нужны. Однако я столкнулся с проблемой, в результате которой я получил сообщение «Пакет MagickCore не найден в пути поиска pkg-config». при запуске sudo gem install rmagick .

Проблема заключалась в сбросе среды в /etc /sudoers. После запуска sudo visudo для редактирования файла sudoers я добавил значения по Defaults env_keep += "PKG_CONFIG_PATH" в соответствующий раздел, обновил безопасный путь для включения /usr /local /bin, а затем установка работала как чудо.

13

ImageMagick обычно помещает MagickCore здесь:

/usr/local/lib/pkgconfig/MagickCore.pc

Если вас там нет, вы можете найти его так:

find / -name MagickCore.pc

Теперь вы знаете свой путь к pkgconfig:

/usr/local/lib/pkgconfig

Установите среду при установке гема:

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gem install rmagick
7

Для CentOS я решил эту проблему, установив пакет ImageMagick-devel:

yum install ImageMagick-devel

2

Ключ находится в выходных данных конфигурации, где он говорит «проверка на наличие wand/MagickWand.h» - ясно, что каталог ImageMagick не ожидается в /usr /include, что означает, что вам нужно либо переместить содержимое этого каталога на уровень, либо вы Нужно самому установить ImageMagick. Помещать вещи непосредственно в /usr, как правило, плохая идея для всего, что не предусмотрено самой системой - если вы отделите все вещи, которые вы добавляете в /usr /local, и оставите /usr в основном в одиночестве, вы обнаружите, что система намного проще администрировать также, так как вы сможете (долго после того, как вы забыли об этом) выяснить, что вы добавили против того, что было в системе.

1

Возможно, вы захотите установить соответствующий пакет поддержки для вашего дистрибутива:http://rpmfind.net/linux/rpm2html/search.php?query=pkgconfig%28MagickCore%29

У меня точно такая же проблема с CentOS, rmagick установился нормально после yum install ImageMagick-devel

1

Возможно, вы устанавливаете ImageMagick версии 7.xx, которая генерирует разные имена папок в вашей папке usr/lib/local/include/ImageMagick7.x.x . Например

В версии ImageMagick6.xx у нас есть magick wand именами папок, где в версии ImageMagick7.xx названа эта MagickCore , MagickWand . Так что это обновление вызывает проблему при установке некоторых драгоценных камней, как здесь. Который использует magick/some_header.h или wand/some_header.h (означает, что они не обновляются с новой версией 7.xx ImageMagick).Вот почему мы получаем эту ошибку:

`` `

checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
 .... 
checking for wand/MagickWand.h... no

`` `

и в файле журнала что-то вроде этого:

error: 'MagickCore/method-attribute.h' file not found
#include "MagickCore/method-attribute.h"
         ^

Решение

Установите версию ImageMagick6.xx в своей системе с официального сайта: https://www.imagemagick.org/download/ и установите ее, используя следующие команды (после распаковки zip/tar):

./configure
make 
make install

Тогда делай

gem install rmagick

Это будет работать.

0

Я устанавливал Redmine под Mac OS X горный лев ...

Сбой установки на rmagick ...

После многих неприятностей он работал, устанавливая "homebrew", но НЕ устанавливая rmagick через homebrew. Вместо этого я установил «pkg-config» через homebrew, потому что rmagick жаловался на это.

Команды:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
brew doctor
brew install pkg-config
sudo gem install rmagick

Затем Redmine продолжил установку без проблем.

0

Перед установкой rmagic вы должны установить imagic в вашей системе, установка imagick зависит от вашей операционной системы. Затем вам нужно установить некоторые библиотеки, которые внутренне поддерживают ruby, для объединения библиотек обработки изображений в вашей системе. Для установки этих библиотек используйте следующую команду Для linux: sudo apt-get install libmagickwand-dev imagemagick Для Centos: yum install libmagickwand-dev imagemagick

Затем вы должны установить gem rmagick с помощью следующей команды: gem install rmagick Это работает для меня, и я успешно установил rmagick ...

0

Это решило проблему для меня. По-видимому, последняя версия, которая поставляется с homebrew, плохо работает с жемчужиной.

http://blog.paulopoiati.com/2013/01/28/installing-rmagick-in-mac-os-x-mountain-lion-with-homebrew/

0

Ближайший к @ Irongaze.com ответ! В моем Arch Linux я создал эти две символические ссылки:

$ sudo ln -s /usr/include/ImageMagick-6/wand /usr/include/wand
$ sudo ln -s /usr/include/ImageMagick-6/magick /usr/include/magick

Затем снова запускает bundle и исправляет rmagick .

0
        1) install by installer

http://cactuslab.com/imagemagick/

2) попробуй гем установить rmagick

если проверить на палочку /MagickWand.h ... нет
тип

mdfind MagickWand.h

найти что-то вроде

/Users/user/ImageMagick-6.8.3/include/ImageMagick-6/wand/MagickWand.h

и введите в терминале

C_INCLUDE_PATH=/Users/user/ImageMagick-6.8.3/include/ImageMagick-6/ gem install rmagick

если после этого у вас появляется эта ошибка (потому что она была) «Пакет MagickCore не найден в пути поиска pkg-config».

тип

mdfind MagickCore.pc

найти что-то вроде /opt/ImageMagick/lib/pkgconfig/MagickCore.pc

и, наконец, в терминале типа:

PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install rmagick

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .