Ich habe ein Problem beim Versuch, "rmagick" gem auf centos zu installieren. Es folgt die Ausgabe, die ich habe. Kann mir bitte jemand helfen, herauszufinden, welches Paket mir fehlt ? Ich habe alle erwähnten einen anderen Stack-Overflow-Thread installiert : RMagick-Installationsfehler
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
Nach folgenden Vorschlägen erhalte ich jetzt diese Ausgabe:
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
Ausgabe von 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"
Die Ausgabe von gem_make.out entspricht der obigen Terminalausgabe.
yum install ImageMagick-devel ImageMagick
Dieses ImageMagick 7 mit RMagick 2.16 unter MacOS Sierra MagickWand.h kann nicht gefunden werden und funktioniert für Rmagick 2.16.
brew install imagemagick@6 brew link --force imagemagick@6 gem install rmagick
quelle
brew link --force imagemagick@6
half mir, gem dhash zu installieren.Die Fehlermeldung lautet:
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
Anscheinend fehlt Ihnen überhaupt kein Paket. Sie müssen nur angeben,
pkg-config
wo sich dieMagickCore.pc
Datei zum Erstellen der Erweiterung befindet. Wenn Sie das PaketImageMagick-devel
mithilfeyum
der Datei installiert haben, sollte es sich im Verzeichnis/usr/lib/pkgconfig
oder/usr/lib64/pkgconfig
(abhängig von Ihrer Architektur) befinden. Überprüfen Sie mit diesem Befehl (von jetzt an gehe ich davon aus, dass Sie sich auf einem amd64-Computer befinden, falls dies nicht der Fall ist, ersetzen Sie ihnlib64
durchlib
):$ find /usr/lib64/pkgconfig -name MagickCore.pc
Wenn die Datei vorhanden ist, müssen Sie sie nur
rmagick
mit folgendem Befehl installieren :$ PKG_CONFIG_PATH='/usr/lib64/pkgconfig' gem install rmagick
quelle
Für Mac mit Brew einfach ..
brew install imagemagick
Dann
gem install imagemagick
wird reibungslos funktionieren.quelle
Das Problem ist, wie der Fehler es ausdrückt,
Dort wird auch die Lösung vorgeschlagen:
Damit,
Suchen Sie den Speicherort von MagickCore.pc :
Wenn es nicht gefunden wird, ist ImageMagick wahrscheinlich nicht auf Ihrem System installiert - dann installieren Sie es (Google, wie es geht, da es vom Betriebssystem abhängt)
Speichern Sie es wie folgt in der ENV-Variable (stellen Sie sicher, dass Sie den in Schritt 1 gefundenen Pfad eingeben):
PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig
Versuchen Sie erneut, RMagick zu installieren
quelle
directory containing
bedeutet, dass Sie den Dateinamen entfernen müssen, damit es funktioniert. AlsoPKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig
.Es sieht nicht so aus, als würden Ihnen Pakete fehlen. Die Fehlermeldung ist wichtig:
Einige der Antworten auf dieses Superuser-Duplikat geben gute Ratschläge.
quelle
Auf debian (instabil) waren die richtigen Pakete, die zur Behebung dieses Fehlers benötigt wurden
libmagickcore-6.q16-dev
,imagemagick
undlibmagickwand-6-headers
Ich habe sie mit
apt-file search MagickCore.pc
und gefundenapt-file search MagickWand.h
quelle
Für Windows-Benutzer, die darauf stoßen und zu 100% davon überzeugt sind, dass sie das Devkit installiert haben:
Bei der Installation wird diese Eingabeaufforderung angezeigt
1 zu wählen ist nicht genug. Drücken Sie einfach die Eingabetaste (1 & 3) und das Devkit wird ordnungsgemäß installiert.
quelle