rubygems - Problema al instalar RMagick rubygem en Centos 5
centos5 (7)
Tengo problemas para instalar el rubygem de RMagick en Centos 5. He seguido los pasos detallados en http://rmagick.rubyforge.org/install2-linux.html pero cuando lo intento:
sudo gem install rmagick
el resultado es:
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
El directorio / usr / local / bin contiene Magick-config pero no he podido conseguir rubygems para mirar allí. Intenté lo siguiente pero el resultado fue el mismo:
sudo gem install rmagick -- --with-opt-dir=/usr/local/bin
Cualquier sugerencia sera apreciada.
¡Así que finalmente he logrado instalar la versión 1.15.17 de rmagick rubygem! Esto es lo que hice:
- Desinstaló ImageMagick 6.5.4-9 y las bibliotecas de delegado que había instalado desde la fuente
-
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
Las entradas del blog de David Bock y Will fueron invaluables.
Centos 5.5 el ImageMagick es heredado, por lo tanto, instale desde la fuente para poder usar el rmagick.
Obtener la fuente 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
Probablemente obtendrá error de dependencia para:
- perl-devel
- Jasper Devel
- djvulibre-devel
Agregue a su /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
Luego importe la clave GPG e instale el djvulibre-devel
rpm --import http://ftp.riken.jp/Linux/dag/RPM-GPG-KEY.dag.txt
yum --enablerepo=dag install djvulibre-devel
Luego verifica si puedes hacer el RPM:
rpmbuild -ba ImageMagick.spec
Si obtiene el error de dependencia perl-devel.
yum install perl
Luego edite ImageMagick.spec y reemplace " perl-devel " por " perl ", guarde y rpmbuild nuevamente.
rpmbuild -ba ImageMagick.spec
Así que instale las otras dependencias:
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/
Vamos a instalarlo:
cd /usr/src/redhat/RPMS/i386
rpm -Uvh ImageMagick-*
Después de todo, puedes probar si tu RMagick está instalado:
ruby -rrubygems -e "require ''RMagick''; puts Magick::Long_version;"
Residencia en:
hi.baidu.com/rainchen/blog/item/089ef7364497de320a55a9a3.html
mobile-dev.izanagi-izanami.net/blog/?p=48
La respuesta de rubiojr funcionó para mí, pero el rbel.co está abajo en este momento. Puedes usar rbel.frameos.org en su lugar:
rpm -Uvh http://rbel.frameos.org/rbel5
yum install ImageMagick-devel ImageMagick-c++-devel
gem install rmagick
Recibí este error después de seguir las instrucciones de la respuesta más votada:
RMagick: unable to read font `(null)''.
así que tengo algo que agregar al paso 7, tomado de una actualización del blog de David Bock:
gem install rmagick -v 1.15.17 --no-rdoc --no-ri -- --disable-htmldoc
deshabilitar la documentación html es crucial para evitar más errores si los archivos de fuentes hacen que el rmagick sea infeliz. Solo el resultado de aproximadamente 2 horas de lucha con este problema.
Recientemente, hice backporting ImageMagick 6.5.4.7 de CentOS6 a CentOS5, por lo que la instalación de rmagick debería ser más fácil ahora:
rpm -Uvh http://rbel.co/rbel5
yum install ImageMagick-devel ImageMagick-c++-devel
gem install rmagick
Resolví esto en RHEL 5.4
al simular temporalmente /usr/local/bin/Magick-config
a /usr/bin/Magick-conf
, por lo que la instalación de gemas podría encontrar este ejecutable de Magick-config.
En mi caso, instalé ImageMagick desde la fuente con --prefix=/usr/local
. Por alguna razón, la instalación de gemas no quiso buscar allí la configuración, incluso con la gem install --local ../rmagick-2.12.2.gem -- -with-opt-dir=/usr/local/bin
. Ejecutar yum install ImageMagick-devel
obtendría el binario allí, pero la instalación de gemas diría que ImageMagick era la versión incorrecta.
rmagick es notoriamente difícil de instalar debido a las dependencias de otros paquetes, etc. Acabo de pasar por este juego en Ubuntu y el truco fue simplemente instalar los paquetes correctos, incluidos los paquetes dev, etc. No estoy familiarizado con CentOS, pero alguien lo hará. probablemente chime con los paquetes adecuados para eso.
Si todo lo demás falla, la construcción e instalación de ImageMagick desde la fuente generalmente puede funcionar.
Editar: En cuanto a una pregunta relacionada, veo lo siguiente:
En algunas plataformas (CentOS 5.2), tuve que instalar versiones específicas de RMagick porque los repositorios predeterminados para mi administrador de paquetes (yum) solo tenían versiones antiguas de las bibliotecas de desarrollo de RMagick. Instalé esta versión a través de:
gem install rmagick -v 1.15.13