27 votes

Rails et OS X: comment installer rmagick?

Je suis déjà complètement désespérés, j'ai passé toute la journée à essayer d'installer rmagick gem pour Mac OS X Lion, mais, littéralement, c'est une tragédie. J'ai vu beaucoup de semblables discussions sur Google, mais rien ne m'a aidé.

J'ai essayé de désinstaller complètement l' imagemagick par brew et l'installer à nouveau (cela fonctionne bien) et ensuite d'installer l' rmagick, mais à chaque fois, lorsque j'essaie d'installer ce petit bijou, je reçois cette erreur:

Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

        /Users/adam/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
extconf.rb:128: Use RbConfig instead of obsolete and deprecated Config.
checking for clang... 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... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... yes
checking for InitializeMagick() in -lMagickCore... no
checking for InitializeMagick() in -lMagick... no
checking for InitializeMagick() in -lMagick++... no
Can't install RMagick 2.13.1. Can't find the ImageMagick library or one of the dependent libraries. Check the mkmf.log file for more detailed information.

*** 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
    --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=/Users/adam/.rvm/rubies/ruby-1.9.3-p327/bin/ruby
    --with-MagickCorelib
    --without-MagickCorelib
    --with-Magicklib
    --without-Magicklib
    --with-Magick++lib
    --without-Magick++lib


Gem files will remain installed in /Users/adam/.rvm/gems/ruby-1.9.3-p327/gems/rmagick-2.13.1 for inspection.
Results logged to /Users/adam/.rvm/gems/ruby-1.9.3-p327/gems/rmagick-2.13.1/ext/RMagick/gem_make.out

N'importe pas si je vais installer la gem par Gemfile ou par l'intermédiaire du Terminal, dans les deux cas, j'obtiens la même erreur de sortie.

C'est la version de imagemagick: imagemagick-6.8.0-10.

Pourriez-vous me donner s'il vous plaît quelques conseils ou de l'avance, où pourrait être le problème? Merci beaucoup!

71voto

TaianSu Points 1683

rmagick a un problème de travailler avec imagemagick (>= 6.8.0-10) à partir de homebrew.

Vous pouvez soit

mise à jour de rmagick gem par

    bundle update rmagick

ou manuellement symbole de lien certains dylib pour le faire fonctionner:

    $ cd "`Magick-config --prefix`lib"
    $ ln -s libMagick++-Q16.7.dylib   libMagick++.dylib
    $ ln -s libMagickCore-Q16.7.dylib libMagickCore.dylib
    $ ln -s libMagickWand-Q16.7.dylib libMagickWand.dylib

Après qu' gem install rmagick devrait fonctionner.

De vérifier la discussion à ce sujet dans homebrew/questions/16625

Mise à jour: Merci @faraz de nice, une ligne de commande:

cd "`Magick-config --prefix`/lib"; ln -s libMagick++-Q8.7.dylib libMagick++.dylib; ln -s libMagickCore-Q8.7.dylib libMagickCore.dylib; ln -s libMagickWand-Q8.7.dylib libMagickWand.dylib

15voto

tiagotam Points 111

J'ai eu le même problème.

Si vous vérifiez le mkmf.log, vous verrez le message d'erreur suivant:

 ld: library not found for -lgomp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main() {return 0;}
/* end */\
 

Voici comment je l'ai résolu:

  1. Désinstallez la version actuelle d'ImageMagick:

    brew uninstall imagemagick

  2. Réinstallez imagemagick sans le support openmp (il s'agit de la bibliothèque responsable de lgomp):

    brew install imagemagick --disable-openmp

  3. Installez rmagick:

    gem install rmagick

C'est ça!

6voto

Dan Draper Points 28

Si vous utilisez homebrew, il vous suffit de définir le PKG_CONFIG_PATH

 brew install imagemagick
PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick//6.8.9-1/lib/pkgconfig/ gem install rmagick
 

5voto

cdb Points 55

Essayez d'installer la version 6.7.7-6 d'imagemagick car la version 6.8.x casse la gemme rmagick.

 cd /usr/local
git checkout 7d951fb /usr/local/Library/Formula/imagemagick.rb
brew install imagemagick
 

1voto

RubyFanatic Points 808

Après avoir installé imagemagick, pouvez-vous essayer

 > gem pristine rmagick
 

Je l'ai depuis ce fil. Rails Rmagick gem . J'espère que cela aide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X