web-dev-qa-db-fra.com

Problème d'installation de gem "rmagick"

J'ai des problèmes en essayant d'installer la gem "rmagick" sur les centos. Voici la sortie que j'ai. Quelqu'un peut-il m'aider à identifier le paquet qui me manque ? J'ai installé tous mentionnés un autre thread de débordement de pile: erreur d'installation 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

Après les suggestions suivantes, maintenant j'obtiens cette sortie:

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

Sortie 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 sortie de gem_make.out est identique à la sortie du terminal ci-dessus.

65
Rana

essayez d'installer

  Sudo apt-get install libmagickwand-dev imagemagick
132
Sachin Singh

Cela ImageMagick 7 avec RMagick 2.16 sur MacOS Sierra ne peut pas trouver MagickWand.h fonctionne pour Rmagick 2.16.

brew install imagemagick@6
brew link --force imagemagick@6
gem install rmagick
33
mmell

Le message d'erreur dit:

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

Il semble que vous ne manquiez aucun paquet, il vous suffit de dire pkg-config où trouver le MagickCore.pc fichier pour construire l'extension. Si vous avez installé le package ImageMagick-devel en utilisant yum le fichier doit se trouver dans le répertoire /usr/lib/pkgconfig ou /usr/lib64/pkgconfig (selon votre architecture). Vérifiez avec cette commande (à partir de maintenant, je suppose que vous êtes sur une machine AMD64, si ce n'est pas le cas, remplacez lib64 avec lib):

$ find /usr/lib64/pkgconfig -name MagickCore.pc

Si le fichier est là, il vous suffit d'installer rmagick avec cette commande:

$ PKG_CONFIG_PATH='/usr/lib64/pkgconfig' gem install rmagick
17
toro2k

Pour Mac avec Brew, simplement ..

brew install imagemagick

Ensuite gem install imagemagick fonctionnera sans problème.

7
Fadils

Le problème est, comme le dit l'erreur,

Le package MagickCore est introuvable dans le chemin de recherche pkg-config

La solution y est également suggérée:

ajoutez le répertoire contenant MagickCore.pc au PKG_CONFIG_PATH variable d'environnement

Alors,

  1. Trouver MagickCore.pc emplacement:

    Sudo find / -name MagickCore.pc
    
  2. S'il n'est pas trouvé, ImageMagick n'est probablement pas installé sur votre système - installez-le (Google comment le faire, car cela dépend du système d'exploitation)

  3. Enregistrez-le dans la var ENV comme ça (assurez-vous de mettre le chemin trouvé à l'étape 1):

    PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig
    
  4. Réessayez d'installer RMagick

5
Sergey Pedan

Il ne semble pas qu'il vous manque de paquets. Le message d'erreur est important:

Vous devriez peut-être ajouter le répertoire contenant `MagickCore.pc 'à la variable d'environnement PKG_CONFIG_PATH

Plusieurs des réponses sur ce double superutilisateur donnent de bons conseils.

3

Sur debian (instable), les paquets corrects nécessaires pour résoudre cette erreur étaient libmagickcore-6.q16-dev, imagemagick et libmagickwand-6-headers

Je les ai trouvés en utilisant apt-file search MagickCore.pc et apt-file search MagickWand.h

1
Spikolynn