Проблема с установкой 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
Любые предложения будут оценены.
Ответы
Ответ 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 была неправильной версией.