ruby - mac - Problema de instalación de la gema "rmagick"
install imagemagick (7)
Tengo problemas al intentar instalar la gema "rmagick" en centos. Lo siguiente es el resultado que estoy teniendo. ¿Puede alguien ayudarme a identificar qué paquete me falta ? He instalado todos los mencionados otro subproceso de desbordamiento de pila: Error de instalación de 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... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc''
to the PKG_CONFIG_PATH environment variable
No package ''MagickCore'' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc''
to the PKG_CONFIG_PATH environment variable
No package ''MagickCore'' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc''
to the PKG_CONFIG_PATH environment variable
No package ''MagickCore'' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc''
to the PKG_CONFIG_PATH environment variable
No package ''MagickCore'' found
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... no
Can''t install RMagick 2.13.2. Can''t find MagickWand.h.
*** 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.9.1/gems/rmagick-2.13.2 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/rmagick-2.13.2/ext/RMagick/gem_make.out
Después de seguir las sugerencias, ahora obtengo esta salida:
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... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
checking for stdint.h... *** 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
/usr/local/lib/ruby/1.9.1/mkmf.rb:381:in `try_do'': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /usr/local/lib/ruby/1.9.1/mkmf.rb:506:in `try_cpp''
from /usr/local/lib/ruby/1.9.1/mkmf.rb:931:in `block in have_header''
from /usr/local/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for''
from /usr/local/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone''
from /usr/local/lib/ruby/1.9.1/mkmf.rb:254:in `open''
from /usr/local/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone''
from /usr/local/lib/ruby/1.9.1/mkmf.rb:254:in `open''
from /usr/local/lib/ruby/1.9.1/mkmf.rb:280:in `postpone''
from /usr/local/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for''
from /usr/local/lib/ruby/1.9.1/mkmf.rb:930:in `have_header''
from extconf.rb:194:in `<main>''
Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/rmagick-2.13.2 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/rmagick-2.13.2/ext/RMagick/gem_make.out
Salida de mkmf.log:
checking for HDRI disabled version of ImageMagick... -------------------- yes
--------------------
"gcc -o conftest -I/usr/local/include/ruby-1.9.1/x86_64-linux -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/ImageMagick-6 -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/ImageMagick-6 conftest.c -L. -L/usr/local/lib -Wl,-R/usr/local/lib -L/usr/lib -lMagickCore-6.Q16 -L/usr/lib -lMagickCore-6.Q16 -Wl,-R -Wl,/usr/local/lib -L/usr/local/lib -lruby-static -lpthread -lrt -ldl -lcrypt -lm -lc"
/usr/bin/ld: skipping incompatible /usr/lib/libMagickCore-6.Q16.so when searching for -lMagickCore-6.Q16
/usr/bin/ld: skipping incompatible /usr/lib/libMagickCore-6.Q16.so when searching for -lMagickCore-6.Q16
/usr/bin/ld: skipping incompatible /usr/lib/libMagickCore-6.Q16.so when searching for -lMagickCore-6.Q16
/usr/bin/ld: cannot find -lMagickCore-6.Q16
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
La salida de gem_make.out es la misma que la salida del terminal anterior.
El mensaje de error dice:
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc''
to the PKG_CONFIG_PATH environment variable
No package ''MagickCore'' found
Parece que no te falta ningún paquete, solo tienes que decirle a pkg-config
dónde encontrar el archivo MagickCore.pc
para compilar la extensión. Si ha instalado el paquete ImageMagick-devel
usando yum
el archivo debe estar dentro del directorio /usr/lib/pkgconfig
o /usr/lib64/pkgconfig
(dependiendo de su arquitectura). Verifique con este comando (a partir de ahora supongo que está en una máquina amd64, si no es el caso reemplace lib64
con lib
):
$ find /usr/lib64/pkgconfig -name MagickCore.pc
Si el archivo está allí, solo tienes que instalar rmagick
con este comando:
$ PKG_CONFIG_PATH=''/usr/lib64/pkgconfig'' gem install rmagick
El problema es que, como dice el error,
El paquete MagickCore no se encontró en la ruta de búsqueda pkg-config
La solución también se sugiere allí:
agregue el directorio que contiene
MagickCore.pc
a laPKG_CONFIG_PATH
entornoPKG_CONFIG_PATH
Asi que,
Encuentra la ubicación de MagickCore.pc :
sudo find / -name MagickCore.pc
Si no se encuentra, probablemente ImageMagick no esté instalado en su sistema, entonces instálelo (Google cómo hacerlo, ya que depende del sistema operativo).
Guárdelo en var. ENV así (asegúrese de poner la ruta encontrada en el paso 1):
PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig
Vuelva a intentar la instalación de RMagick
En debian (inestable) los paquetes correctos necesarios para resolver este error fueron libmagickcore-6.q16-dev
, imagemagick
y libmagickwand-6-headers
Los encontré usando apt-file search MagickCore.pc
y apt-file search MagickWand.h
Este ImageMagick 7 con RMagick 2.16 en MacOS Sierra No se puede encontrar MagickWand.h funciona para Rmagick 2.16.
brew install imagemagick@6
brew link --force imagemagick@6
gem install rmagick
No parece que te falten paquetes. El mensaje de error es importante:
Quizás deba agregar el directorio que contiene `MagickCore.pc ''a la variable de entorno PKG_CONFIG_PATH
Varias de las respuestas sobre este duplicado de superusuario dan buenos consejos.
Para Mac con Brew, simplemente ...
brew install imagemagick
Entonces gem install imagemagick
funcionará sin problemas.
intenta instalar
sudo apt-get install libmagickwand-dev imagemagick