2009-08-10 11 views
16

Estoy teniendo problemas al instalar el rubygem RMagick en Centos 5. He seguido los pasos detallados en http://rmagick.rubyforge.org/install2-linux.html pero cuando intento:Problema al instalar RMagick rubygem en Centos 5

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 obtener rubygems para buscar allí. Intenté lo siguiente, pero el resultado fue el mismo:

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

Cualquier sugerencia sería apreciada.

Respuesta

25

Así que por fin he conseguido instalar la versión 1.15.17 de la rubygem RMagick! Esto es lo que hice:

  1. Desinstalado ImageMagick 6.5.4-9 y las bibliotecas de delegado que había instalado desde la fuente
  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

Las entradas de blog de David Bock y Will fueron invaluables.

+1

El enlace de la fuente no parece funcionar, así que seguí las instrucciones en http://www.go2linux.org/msttcorefonts-true-type-fonts-on-linux para obtener las fuentes instaladas. Trabajado como un encanto. –

+0

El último paso me falló hasta que agregué los encabezados ruby: sudo yum install ruby-devel – mveerman

+0

Funcionó para mí, gracias Keith & Beerlington. En realidad, me he encontrado con más problemas, teniendo Zend Server CE ya instalado con una versión diferente de ImageMagick (no devel, por lo que no pude gemirmagmagick) en mi sistema. Para resolver el problema, necesitaba establecer correctamente la variable de entorno LD_LIBRARY_PATH en/usr/lib (en lugar de la ubicación ZSCE) y pasarla a apache. Para hacer esto con el pasajero, he convertido mi directiva Apache: "PassengerRuby/usr/bin/ruby" en "PassengerRuby/usr/bin/ruby_env" y he llenado este archivo con: #!/Bin/sh export LD_LIBRARY_PATH =/usr/lib: exec "/ usr/local/bin/ruby" "$ @" – maraspin

3

rmagick es notoriamente difícil de instalar debido a la dependencia 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 probablemente dará los paquetes correctos para eso.

Si todo lo demás falla, la construcción y la instalación de ImageMagick desde la fuente normalmente pueden funcionar.

Editar: En cuanto a una pregunta relacionada, veo lo siguiente:

En algunas plataformas (CentOS 5.2), he tenido que instalar versiones específicas de RMagick porque los repositorios por defecto para mi gestor de paquetes (mmm) solo tenía versiones antiguas de las bibliotecas de desarrollo RMagick. He instalado esta versión a través de:

gem install rmagick -v 1.15.13 
+0

De hecho, he intentado instalar una versión anterior como se sugirió anteriormente, pero era incompatible con los paquetes instalados. Entonces, configuré, construí e instalé ImageMagick desde la fuente, después de haber instalado los delegados como sugería http://rmagick.rubyforge.org/install2-linux.html. Pude instalar RMagick desde la fuente pero lo necesito instalado como RubyGem debido a una dependencia en mi aplicación Rails. Lo que me gustaría averiguar es cómo forzar la instalación de gemas para encontrar Magick-config en/usr/local/bin. –

+0

un truco sucio que puede funcionar es vincularlo simbólicamente a un lugar que parece. Sin embargo, en mi experiencia una vez que superas el tipo de problema de la configuración de Magick, hay otro error en otro lugar: creo que la causa raíz no es tener un conjunto de paquetes que sean compatibles. En ubuntu, primero eliminé todos los paquetes relacionados con ImageMagick y luego construí un conjunto que parecía funcionar buscando en Google lo que otros habían hecho y prueba y error. Como tú, tuve que tenerlo como una joya, por la misma razón. También tenía que tener imagemagick proveniente de paquetes, ya que la creación del servidor completo estaba automatizada. – frankodwyer

+0

Gracias por sus respuestas Frank. Sus comentarios me animaron a volver a la ruta que me permitió instalar 1.15.17 correctamente según los paquetes. –

0

Lo solucioné en RHEL 5.4 conectando temporalmente /usr/local/bin/Magick-config a /usr/bin/Magick-conf, por lo que la instalación de la joya 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 la gema no quería buscar allí la configuración, incluso con gem install --local ../rmagick-2.12.2.gem -- -with-opt-dir=/usr/local/bin. Ejecutando yum install ImageMagick-devel obtendría el binario allí, pero luego la instalación joya diría que ImageMagick era la versión incorrecta.

1

cuidado para conseguir este error después de seguir las instrucciones en la respuesta más votada:

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

así que tienen algo que añadir al paso 7, tomada de una actualización de blog de David Bock:

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 

deshabilitar la documentación html es crucial para evitar más errores si los archivos de fuente hacen que rmagick no esté satisfecho. Solo el resultado de aproximadamente 2 horas de lucha con este problema.

1

Centos 5.5 ImageMagick es heredado, así que instálelo desde la fuente para poder usar el rmagick.

Consigue el RPM fuente

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á el error dependencia para:

  • perl-devel
  • Jasper-devel
  • djvulibre-devel

Agregar 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 

A continuación, importar 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 

A continuación, compruebe si se puede hacer el RPM:

rpmbuild -ba ImageMagick.spec 

Si obtiene la dependencia perl-devel error.

yum install perl 

luego editar el ImageMagick.spec y reemplazar "perl-devel" para "Perl", parada de rpmbuild nuevo.

rpmbuild -ba ImageMagick.spec 

Así instalar 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 se puede comprobar si está instalado el RMagick:

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

Basado en:

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

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

41

he portado recientemente ImageMagick 6.5.4.7 de CentOS6 a CentOS5 lo que la instalación RMagick debería ser más fácil en este momento:

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

gracias, los paquetes funcionó muy bien – gerrit

+0

increíble. gracias un montón. Pude actualizar imagemagick con éxito e instalar la gema rmagick. –

+0

Gracias, lo busqué por todas partes, Rmagick es genial pero es un dolor cuando intenta instalarlo en centos –

9

El answer from rubiojr trabajó para mí, pero el rbel.co es hacia el momento. Puede usar rbel.frameos.org en su lugar:

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