Подтвердить что ты не робот

Проблема с установкой RMagick rubygem на Centos 5

У меня возникают проблемы с установкой RMagick rubygem на Centos 5. Я выполнил шаги, описанные в http://rmagick.rubyforge.org/install2-linux.html, но когда я пытаюсь

sudo gem install rmagick

результат:

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

/usr/local/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... no
Can't install RMagick 2.11.0. Can't find Magick-config in /usr/bin:/bin

*** 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/local/bin/ruby


Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/gems/rmagick-2.11.0 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.8/gems/rmagick-2.11.0/ext/RMagick/gem_make.out

В каталоге /usr/local/bin содержится Magick-config, но я не смог получить рубигемы, чтобы посмотреть там. Я пробовал следующее, но результат был тот же:

sudo gem install rmagick -- --with-opt-dir=/usr/local/bin

Любые предложения будут оценены.

4b9b3361

Ответ 1

Итак, мне наконец удалось установить версию 1.15.17 rmagick rubygem! Вот что я сделал:

  • Удаленный ImageMagick 6.5.4-9 и библиотеки делегатов, которые я установил из источника
  • sudo yum install ImageMagick
  • sudo yum install ImageMagick-devel
  • curl -O http://www.zacharywhitley.com/linux/rpms/fedora/core/6/i386/msttcorefonts-2.0-1.noarch.rpm
  • sudo rpm -ivh msttcorefonts-2.0-1.noarch.rpm
  • ln -s /usr/share/fonts/msttcorefonts/ /usr/share/fonts/default/TrueType
  • sudo gem install rmagick -v 1.15.17 --no-rdoc --no-ri

Записи в блоге Дэвид Бок и Will были неоценимы.

Ответ 2

Недавно я обратил внимание на ImageMagick 6.5.4.7 от CentOS6 до CentOS5, поэтому установка rmagick должна быть проще прямо сейчас:

rpm -Uvh http://rbel.co/rbel5
yum install ImageMagick-devel ImageMagick-c++-devel
gem install rmagick

Ответ 3

Ответ rubiojr работал у меня, но на данный момент rbel.co не работает. Вместо этого вы можете использовать rbel.frameos.org:

rpm -Uvh http://rbel.frameos.org/rbel5
yum install ImageMagick-devel ImageMagick-c++-devel
gem install rmagick

Ответ 4

rmagick, как правило, сложно установить из-за зависимостей от других пакетов и т.д. Я только что прошел через эту игру на Ubuntu, и трюк был просто для установки правильных пакетов, включая dev-пакеты и т.д. Я не знаком с CentOS но кто-то, вероятно, включится в правильные пакеты для этого.

Если все остальное не удается, создание и установка ImageMagick из источника обычно могут быть выполнены.

Изменить: если посмотреть на соответствующий вопрос, я вижу следующее:

На некоторых платформах (CentOS 5.2) мне пришлось установить определенные версии RMagick, потому что хранилища по умолчанию для моего диспетчера пакетов (yum) имели только старые версии библиотек RMagick devel. Я установил эту версию через:

gem install rmagick -v 1.15.13

Ответ 5

продолжал получать эту ошибку после выполнения инструкций в наиболее голосуемом ответе:

RMagick: unable to read font `(null)'.

поэтому мне есть что добавить к шагу 7, взятому из обновления в блог Дэвида Бока:

http://blog.codesherpas.com/on_the_path/2009/09/installing-centos-5-imagemagick-and-rmagick-september-2009-edition.html

gem install rmagick -v 1.15.17 --no-rdoc --no-ri -- --disable-htmldoc

отключение html-документации имеет решающее значение для предотвращения дальнейших ошибок, если ваши файлы шрифтов делают rmagick недовольны. Только результат около 2 часов борьбы с этой проблемой.

Ответ 6

Centos 5.5 ImageMagick устарел, поэтому установите его из источника, чтобы использовать rmagick.

Получить исходный RPM

wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/SRPMS/ImageMagick.src.rpm
rpm -ivh --nomd5 ImageMagick.src.rpm
cd /usr/src/redhat/SPECS
rpmbuild -ba ImageMagick.spec

Вероятно, вы получаете ошибку зависимости для:

  • perl-devel
  • яшма-разви
  • DjVuLibre-разви

Добавьте в /etc/yum.repos.d/dag.repo

[dag]
name=Dag RPM Repository for CentOS5
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/
enabled=0
gpgcheck=1

Затем импортируйте ключ GPG и установите djvulibre-devel

rpm --import http://ftp.riken.jp/Linux/dag/RPM-GPG-KEY.dag.txt
yum --enablerepo=dag install djvulibre-devel

Затем проверьте, можете ли вы сделать RPM:

rpmbuild -ba ImageMagick.spec

Если вы получите ошибку зависимости perl-devel.

yum install perl

Затем отредактируйте ImageMagick.spec и замените " perl-devel" на " perl", сохраните и rpmbuild снова.

rpmbuild -ba ImageMagick.spec

Итак, установите другие зависимости:

yum install freetype
yum install gd-devel
wget http://www.osresources.com/files/centos-windows-fonts/msfonts.tbz
mkdir /usr/share/fonts/default/TrueType
tar xvjpf msfonts.tbz -C /usr/share/fonts/default/TrueType/

Установите его:

cd /usr/src/redhat/RPMS/i386
rpm -Uvh ImageMagick-*

В конце концов, вы можете проверить, установлен ли ваш RMagick:

ruby -rrubygems -e "require 'RMagick'; puts Magick::Long_version;"

На основании:

hi.baidu.com/rainchen/blog/item/089ef7364497de320a55a9a3.html

mobile-dev.izanagi-izanami.net/blog/?p=48

Ответ 7

Я обошел это в RHEL 5.4, временно привязывая /usr/local/bin/Magick-config к /usr/bin/Magick-conf, поэтому установка gem могла найти этот исполняемый файл Magick-config.

В моем случае я установил ImageMagick из источника с помощью --prefix=/usr/local. По какой-то причине установка gem не хотела искать там конфигурацию даже с gem install --local ../rmagick-2.12.2.gem -- -with-opt-dir=/usr/local/bin. Запуск yum install ImageMagick-devel получил бы двоичный файл, но тогда установка gem сообщила бы, что ImageMagick была неправильной версией.