Проблема с установкой RMagick rubygem на Centos 5 - PullRequest
16 голосов
/ 10 августа 2009

У меня проблемы с установкой 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

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

Ответы [ 7 ]

41 голосов
/ 14 октября 2011

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

rpm -Uvh http://rbel.co/rbel5
yum install ImageMagick-devel ImageMagick-c++-devel
gem install rmagick
25 голосов
/ 11 августа 2009

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

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

Записи в блоге от David Bock и Will были неоценимы.

9 голосов
/ 01 февраля 2013

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

rpm -Uvh http://rbel.frameos.org/rbel5
yum install ImageMagick-devel ImageMagick-c++-devel
gem install rmagick
3 голосов
/ 10 августа 2009

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

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

Редактировать: Глядя на связанный вопрос, я вижу следующее:

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

gem install rmagick -v 1.15.13
1 голос
/ 20 января 2011

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 / блог / элемент / 089ef7364497de320a55a9a3.html

mobile-dev.izanagi-izanami.net / блог /? Р = 48

1 голос
/ 12 августа 2010

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

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 часов борьбы с этим вопросом.

0 голосов
/ 12 марта 2010

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

...