Installation RMagick: impossible de trouver MagickWand.h

mise à Jour RMagick et Imagemagick est un douloureux expierence. J'ai mis à jour la version Imagemagick sur mon mac (MacOS El Capitan Version 10.11.5) avec homebrew pour un projet dans Ruby 2.3 à 6.9.5-9

$ convert --version
Version: ImageMagick 6.9.5-9 Q16 x86_64 2016-09-09

maintenant un projet plus ancien dans Ruby 1.8.7 refuse de travailler avec le message d'erreur "Cette installation de RMagick a été configurée avec ImageMagick 6.8.9 mais ImageMagick 6.9.5-9 est utilisé". Donc Je désinstallé "rmagick", mais il ne peut pas être installé à nouveau

$ gem install rmagick -v 2.16.0
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
ERROR: Failed to build gem native extension.

checking for /usr/local/opt/gcc46/bin/gcc-4.6... yes
checking for Magick-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... no
checking for sys/types.h... no
checking for wand/MagickWand.h... no

Can't install RMagick 2.16.0. Can't find MagickWand.h. 

et si elle ne peut pas être installée, l'application entière ne peut pas être démarrée. J'ai essayé toutes les réponses de ici , et aucun d'eux ne fonctionne sur MacOS :-( j'ai réinstallé imagemagick et pkg-config avec homebrew, et essayé diverses versions de RMagick sans succès. 2.16.0 est la dernière version de RMagick actuellement.

MagicWand semble être utilisé dans la version ImageMagick > 6.9, et il peut être trouvé sur la machine:

find /usr/local -name MagickWand.h
=> /usr/local/Cellar/imagemagick/6.9.5-9_1/include/ImageMagick-6/wand/MagickWand.h

find /usr/local -name MagickWand.pc
=> /usr/local/Cellar/imagemagick/6.9.5-9_1/lib/pkgconfig/MagickCore.pc

cela ne fonctionne pas même si je spécifie ces chemins lors de l'installation de gem (même erreur que ci-dessus): - (

C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.9.5-9_1/include/ImageMagick-6 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gem install rmagick

mise à jour:

l'erreur ne se produit que pour Ruby 1.8.7, il est possible d'installer RMagick pour Ruby 2.0 et Ruby 2.3. Ruby 1.8.7 et ImageMagick 6.9.5 ne semblent pas compatibles.

  • Ruby 1.8.7 x
  • Ruby 2.0.0 ✓
  • Ruby 2.3.1 ✓
121
demandé sur Community 2016-09-14 18:44:14

17 réponses

sous Mac OSX Sierra (et High Sierra), pour résoudre le problème, j'ai eu à faire ce qui suit:

brew unlink imagemagick
brew install imagemagick@6 && brew link imagemagick@6 --force

imagemagick@6 est keg-only , donc vous devrez forcer le lien.

339
répondu K M Rakibul Islam 2017-11-23 18:21:46

j'ai eu ce même problème avec ImageMagick 7.0.4-4 . La solution appropriée est d'installer imagemagick@6 . J'ai trouvé https://github.com/Homebrew/homebrew-core/pull/8756 utile si vous avez accidentellement supprimé votre imagemagick@6 ou ne l'avez jamais fait installer en premier lieu.

50
répondu Raymond Cox 2017-01-16 14:40:41

macOs Sierra:

brew uninstall imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force
24
répondu Evgeniy28 2017-08-23 19:54:49

beaucoup de choses ont changé dans ImageMagick 7 comme ce chemin: include/.../wand , et wand/MagickWand.h est câblé dans le gemmagic en ce moment. Dans mon cas, il n'a pas été possible de mettre à jour le gem car le projet est assez ancien. J'ai donc fini par installer une version plus ancienne D'ImageMagic.

vous pouvez installer la dernière version à partir de 6.x.x:

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb

vous pouvez également épingler pour usege plus tard: brew pin imagemagick

14
répondu Péter Tóth - Toma 2017-01-16 15:52:41

tout D'abord débloquer votre imagemagick installé qui n'a pas été correctement installé dans la dernière mac high sierra en utilisant.

brew unlink imagemagick

puis installer la dernière imagemagic6 en utilisant la commande ci-dessous

brew install imagemagick@6 && brew link imagemagick@6 --force

puis installer gem rmagick en utilisant la commande ci-dessous

gem install rmagick 

ça marchera parfaitement.

14
répondu Ali Hassan Mirza 2018-06-07 14:43:25

quelque chose a changé avec ImageMagick 7.0.4-4 pour moi. wand/MagickWand.h introuvable:

% brew unlink imagemagick && brew link imagemagick
Unlinking /usr/local/Cellar/imagemagick/7.0.4-4... 71 symlinks removed
Linking /usr/local/Cellar/imagemagick/7.0.4-4... 71 symlinks created
% gem install rmagick
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

    /Users/holger/.rbenv/versions/2.2.2/bin/ruby -r ./siteconf20170116-21103-1aikaka.rb extconf.rb
checking for clang... yes
checking for Magick-config... no
checking for pkg-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... no

Can't install RMagick 2.16.0. Can't find MagickWand.h.

J'avais encore ImageMagick 6.9.7-3 sur mon système et j'ai changé avec

% brew switch imagemagick 6.9.7-3
Cleaning /usr/local/Cellar/imagemagick/6.9.6-6
Cleaning /usr/local/Cellar/imagemagick/6.9.7-0
Cleaning /usr/local/Cellar/imagemagick/6.9.7-1
Cleaning /usr/local/Cellar/imagemagick/6.9.7-3
Cleaning /usr/local/Cellar/imagemagick/7.0.4-4
75 links created for /usr/local/Cellar/imagemagick/6.9.7-3

après je pouvais installer rmagick sans problème:

% gem install rmagick
Building native extensions.  This could take a while...
Successfully installed rmagick-2.16.0
1 gem installed
9
répondu Holger Frohloff 2017-01-16 10:34:14

s'il vous plaît suivre ci-dessous et changer une partie en fonction de votre besoin.

brew unlink imagemagick
brew install imagemagick@6 && brew link imagemagick@6 --force
export PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick@6/6.9.9-24/lib/pkgconfig
gem install rmagick -v '2.15.4'
5
répondu Lalit Kumar 2017-11-30 12:10:23

yah celui-ci résout mon problème:

MacOS X Sierra:

brew uninstall imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force
5
répondu Rolando Alvarado 2018-09-26 07:50:48
$ brew remove imagemagick && brew install imagemagick

$ brew uninstall pkg-config && brew install pkg-config
$ brew unlink pkg-config && brew link pkg-config

$ gem install rmagick
3
répondu Yury Lebedev 2016-09-14 16:01:32

Je n'ai pas encore la réputation de laisser ceci comme un commentaire améliorant une autre réponse, mais la réponse de @Evgeniy28 a fonctionné pour moi sur Sierra seulement après avoir également installé pkg-config, qui ne vient pas installé par défaut sur une nouvelle machine Sierra.

:

brew install pkg-config
brew uninstall imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force

Succès:

$ gem install rmagick
Building native extensions.  This could take a while...
Successfully installed rmagick-2.16.0
Parsing documentation for rmagick-2.16.0
Installing ri documentation for rmagick-2.16.0
Done installing documentation for rmagick after 4 seconds
1 gem installed
3
répondu Andrew Brown 2017-10-08 18:01:18

Voici comment j'ai résolu (après beaucoup d'essais et d'échec) sur macOS High Sierra 10.13.3 avec une Tire à domicile:

  1. il semble que RMagick 2.16.0 ne soit pas compatible avec la dernière version D'ImageMagick (Version 7): http://wordsandmagic.com/2017/09/01/RMagick-2-16-0-Error-MagickWand
  2. j'ai désinstallé imagemagick: brew uninstall imagemagick
  3. puis J'ai installé Imagemagick avec cette formule: https://gist.github.com/JagdeepSingh/4b03cbeab16cc0bc729bbc6d275402d3
  4. gem install rmagick

si vous avez déjà installé une ancienne version D'Imagemagick, cela devrait fonctionner: https://stackoverflow.com/a/41674363

3
répondu iGian 2018-03-09 13:22:31

dans la version 7.0.7-1, vous pouvez créer un lien symbolique, mais la compilation échouera.

cd /usr/local/Cellar/imagemagick/7.0.7-1/include/ImageMagick-7
ln -s MagickWand/ wand
ln -s MagicCore/ magick
1
répondu territorial 2017-09-14 02:20:15

quelque chose n'allait pas sur mon système, tellement mal qu'il était complètement fichu, mais j'ai finalement pu installer RMagick pour Ruby 1.8.7 à nouveau après que j'ai installé

l'installation d'une nouvelle version Ruby avec RVM rvm install 1.8.7 également installé un nouveau compilateur GCC: il a enlevé une ancienne version de GCC 4.6 et installé GCC version 4.9. Apparemment, GCC n'a pas pu trouver les en-têtes appropriés malgré pkg-config.

0
répondu 0x4a6f4672 2017-05-23 11:47:31

j'explique en détail le processus d'installation dans ImageMagick install dans centos .



de toute façon ...

après l'installation Installez Imagick & ImageMagick-devel & ImageMagick la bibliothèque PHP comme ci-dessous:

# yum install ImageMagick
# yum install ImageMagick-devel
# pecl install Imagick

allez dans /usr/include

cd /usr/include

Important: copier le dossier ImageMagick de "/ usr / include "à"/usr/local / include " pour ImageMagick trouve MagickWand.h"

j'ai testé ce changement sur imagick-3.4.3(ImageMagick-7) et centos 6.5 et php56 et fonctionne parfaitement ...

si vous avez déjà installé" ImageMagick "plusieurs fois, retirez-les d'abord et trouvez les dossiers" ImageMagick " & "imagick" et nettoyez-les tous et continuez le processus d'installation avec ce changement.

utilisez la commande suivante pour trouver un fichier ou un dossier:

find / -name 'ImageMagick*'
find / -name 'imagick*'

et continuez votre installation

avant sous les lignes n'oubliez pas: aller à "php.ini" trouver "disable_functions" et propre "proc_open,popen,proc_close" parce que faire imagick besoin de ces fonctions, après l'installation complète, vous pouvez ajouter ces fonctions à vos "disable_functions" sur "php.ini fichier".

# phpize
# ./configure --with-php-config=/usr/local/php56/bin/php-config 
...

bonne chance...

0
répondu Ferhad Konar 2018-01-02 11:45:38

Pour la version Ubuntu > 12 et n'utilisant pas de homebrew,

wget http://www.imagemagick.org/download/<required_imagemagick_version>
tar -xvf <path_to_your_downloaded_file>.tar.gz

si vous obtenez des fichiers '7z' au lieu de 'tar.les fichiers gz dans le lien wget, puis

7z x <path_to_your_downloaded_file>.7z
cd <path_to_your_downloaded_file>/
make
./configure
sudo make install
sudo ldconfig /usr/local/lib

alors vous pouvez reprendre votre bundler pour RMagick.

0
répondu Rajarshi Ganguly 2018-06-26 12:53:42

il n'est pas nécessaire de lier ou de déverrouiller quoi que ce soit, en suivant les instructions du script d'installation de brew helps:

brew install imagemagick@6
LDFLAGS="-L/usr/local/opt/imagemagick@6/lib" CPPFLAGS="-I/usr/local/opt/imagemagick@6/include" PKG_CONFIG_PATH="/usr/local/opt/imagemagick@6/lib/pkgconfig" gem install rmagick
0
répondu januszm 2018-09-25 08:00:35

tout d'abord, vous n'avez pas besoin de désinstaller imagemagick si elle a un 6.x installé, comme montré ci-dessous. Vous pouvez voir la "main" est 7.0.7-8 mais 6.9.1-10 est toujours là.

$ brew info imagemagick                                                            
imagemagick: stable 7.0.7-8 (bottled), HEAD
Tools and libraries to manipulate images in many formats
https://www.imagemagick.org/
/usr/local/Cellar/imagemagick/6.9.1-10 (1,450 files, 17.5MB)
  Poured from bottle on 2015-07-26 at 09:10:58
/usr/local/Cellar/imagemagick/7.0.6-9 (1,522 files, 22.8MB)
  Poured from bottle on 2017-08-21 at 14:44:16
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula

si vous n'avez pas de vieux 6.version x, puis installent imagemagick@6.

le Second, ne pas forcer sur le lien imagemagick, surtout pas 6. modifier: Voir 1

Vous devez définir PKG_CONFIG_PATH en plus des options --with-opt -*.

cela fonctionne pour moi sur la haute Sierra avec la préparation de brassage susmentionnée sur Ruby 1.9.3-p551:

PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.9.1-10/lib/pkgconfig  \
  gem install rmagick -v '2.16.0' -- \
  --with-opt-lib=/usr/local/Cellar/imagemagick/6.9.1-10/lib/ \
  --with-opt-include=/usr/local/Cellar/imagemagick/6.9.1-10/include/ImageMagick-6/

Les Docs du bâtiment ri ne marchent pas, mais ils sont sans conséquence.

"151950920 ¹ 1: Les travaux de construction, le chemin dylib RMagick cherche est faux cependant. Soulevé question # 278 pour clarifier si cela peut être corrigé. Dans le cas contraire, la symlinking manuelle libMagickWand etc est nécessaire. Pourrait encore être plus sûr de relier manuellement les bibliothèques spécifiques qu'un brew link --force cependant.

-1
répondu mmlac 2017-10-27 02:41:08