CentOS'umda ImageMagick'i derledim ve RMagick yüklenmeyecek


16

ImageMagick'i yükledim, (ImageMagick 6.7.3-7 kullanarak)

./configure --prefix=/usr && make && make install

Denediğimde

gem install imagemagick

alırım

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

/usr/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.1. 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/bin/ruby

Bu MagickWand.h zaten sistemde olmasına rağmen /usr/include/ImageMagick/wand/MagickWand.h. Yani soru şu ki, derleyiciyi oraya nasıl baktırabilirim?

Yanıtlar:


26

Aynı sorunu CentOS'ta en son her şeyi kullanarak (Aralık 2011'den itibaren) vardı ve şu şekilde düzeltti:

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"

MagickCore.pc'yi almak için .bashrc dosyamda, ardından iki sembolik bağlantı oluşturdu:

ln -s /usr/local/include/ImageMagick/wand /usr/local/include/wand
ln -s /usr/local/include/ImageMagick/magick /usr/local/include/magick

Ve voila, MagickWand.h bulundu, MagickCore.pc alındı ​​... gem başarıyla kuruldu.

ImageMagick kurulumu sırasında ayarlanan yapılandırma seçeneklerini değiştirmek için başka bir çözüm olacağını hayal ediyorum, ancak bu dosyalar için doğru seçenek ve konumun ne olacağını netleştirmek için bir sysadmin yeterli değilim. Bu dosyalar vardır etrafında, I could not rakam googling 45 dakika sonra sözde canlı için, otomatik olarak yapmak sistemi kurmak taş tarafından alınmayı.

Şerefe!

DÜZENLEME: 2014-10-01

Bunu CentOS 7 için tekrar yaptım ve lnyukarıdaki komutlara gerek yoktu. Ancak, "Paket MagickCore pkg-config arama yolunda bulunamadı." çalışıyor sudo gem install rmagick.

Sorun, / etc / sudoers içindeki ortam sıfırlamasıydı. sudo visudoSudoers dosyasını düzenlemek için çalıştırdıktan sonra Defaults env_keep += "PKG_CONFIG_PATH", uygun bölüme ekledim , / usr / local / bin dahil etmek için güvenli yolu güncelledim ve ardından yükleme bir cazibe gibi çalıştı.


Aynı sorunu RedHat 6'da da yaşıyordum ve çözümünüz benim için çalıştı. Çok teşekkürler!
Callmeed

Harika, bu bile dağ aslanı bir cazibe gibi çalıştı! Rmagick gem'in yüklenmesi için yukarıdaki tüm ifadeleri çalıştırmam gerekiyor.
Hendra Uzia

Bunu denedim ve "/ usr / local / bin / Magick-config: line 41: pkg-config: komut bulunamadı / usr / local / bin / Magick-config: line 47: pkg-config: komut bulunamadı / usr / local / bin / Magick-config: satır 50: pkg-config: komut bulunamadı / usr / local / bin / Magick-config: satır 53: pkg-config: komut bulunamadı "
Jonny

13

ImageMagick genellikle MagickCore'u buraya koyacaktır:

/usr/local/lib/pkgconfig/MagickCore.pc

Sizinki orada değilse, bu şekilde bulabilirsiniz:

find / -name MagickCore.pc

Artık pkgconfig yolunuzu biliyorsunuz:

/usr/local/lib/pkgconfig

Mücevher yüklerken ortamı ayarlayın:

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gem install rmagick

Teşekkürler! Benim için bir Bitnami Ubuntu 12.04 görüntü üzerinde çalıştı ..
JD

Teşekkürler! benzer şekilde çalıştı: / usr / -name MagickCore.pc PKG_CONFIG_PATH = / usr / lib / x86_64-linux-gnu /
pkgconfig

7

CentOS için, "ImageMagick-devel" paketini yükleyerek bu sorunu çözdüm:

yum install ImageMagick-devel


1
bu en iyi cevaptır :)
kovpack

2

Anahtar, yapılandırma çıktısında "wand / MagickWand.h olup olmadığını denetleme" yazıyor - / usr / include içinde ImageMagick dizininin açıkça beklenmediği anlamına geliyor, yani bu dizinin içeriğini bir düzey yukarı taşımanız gerekiyor veya ImageMagick'in kendisini farklı yüklemesi gerekir. Doğrudan / usr içine bir şeyler koymak genellikle sistemin kendisi tarafından sağlanmayan herhangi bir şey için kötü bir fikirdir - bunun yerine / usr / local içine eklediğiniz tüm şeyleri ayırırsanız ve / usr'i büyük ölçüde yalnız bırakırsanız, sistemi çok daha kolay bulacaksınız (bunu unuttuğunuzdan uzun bir süre sonra) sistemle birlikte neler eklediğinizi ve neyi eklediğinizi anlayabileceğiniz için de yönetebilirsiniz.


İyi bir tavsiye, yine de derleyiciyi başlık dosyası için belirli dizinlere bakmaya nasıl zorlayabileceğiniz sorusuna cevap vermediyseniz.
Ken Li

3
Derleyici çağrılarının hepsi gem komutu ile gerçekleşiyor (derleyiciyi -I bayrağıyla alternatif konumlara bakmaya zorluyorsunuz, ancak bu kullanıcı derleyiciyi doğrudan kullanmıyor) ve yapılandır komutuyla işleri ayarlamak için en iyisi bu iyilik, başka hiçbir şeyi değiştirmek zorunda kalmadan gerçekleşir. Yaklaşık bir MagickCore.pc dosyası varsa, screeching'i yapılandırmak için yapılandırılan PKG_CONFIG_PATH env değişkenini kullanmak hile yapabilir. "find / usr -name MagickCore.pc" yazın ve var olup olmadığına bakın, ardından "setenv PKG_CONFIG_PATH / path / dizinine / where / find / found / it" ile
ekleyin

PKG_CONFIG_PATH değerini /Dir/to/where/found/MagickCore.pc olarak güncelledim ve yine de "RMagick 2.13.1'i yükleyemiyorum. MagickWand.h bulunamıyor." Neden alınamayacağına dair herhangi bir öneri ve başka ne deneyebilirim .. -l seçeneğini nasıl kullanacağınızdan emin değil misiniz?
p101

Hmmmm! Bu işe yaramış olmalıydı. Soru: ./configure --help yazarsanız, özellikle ImageMagick için yapılandırma seçeneklerini listeler mi? Öyleyse, yapılandırma komut dosyasından / usr / local içindeki doğrudan ImageMagick dizinini işaret edebilirsiniz.
jkh

Thnx jkh .. İlginçtir ki rmagick içinde yapılandırma bulamadım, bu yüzden muhtemelen imagemagick demek. Burada yeni bir soru oluşturdum stackoverflow.com/questions/9561386/rmagick-installation . Eğer bir göz atın eğer takdir ediyorum. Teşekkürler!
p101


1

Klasörünüzde farklı klasör adları oluşturacak ImageMagick sürüm 7.xx yüklüyor olabilirsiniz usr/lib/local/include/ImageMagick7.x.x. Örneğin

ImageMagick6.xx versiyonda biz var magick, wandImageMagick7.xx sürümünde bu adlandırılmış klasörleri adlı MagickCore, MagickWand. Bu güncelleme buradaki gibi bazı gem kurulumlarında soruna neden oluyor. Hangi magick/some_header.hveya wand/some_header.h(Yeni 7.xx ImageMagick sürümü ile güncellenmemiş anlamına gelir) .Bu nedenle bu hatayı alıyoruz:

`

checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
 .... 
checking for wand/MagickWand.h... no

`

ve günlük dosyasında şöyle bir şey var:

error: 'MagickCore/method-attribute.h' file not found
#include "MagickCore/method-attribute.h"
         ^

Çözüm

ImageMagick6.xx sürümünü sisteminize resmi siteden yükleyin : https://www.imagemagick.org/download/ ve bu komutları kullanarak yükleyin (zip / tar ayıkladıktan sonra):

./configure
make 
make install

Sonra yap

gem install rmagick

Çalışacak.


Ben bir sudo ldconfig /usr/local/libsonra çalıştırmak zorunda kaldısudo make install
sequielo

0
        1) install by installer

http://cactuslab.com/imagemagick/

2) Gem yüklemeyi deneyin rmagick

değnek / MagickWand.h ... denetleniyorsa
tür yok

mdfind MagickWand.h

gibi bir şey bul

/Users/user/ImageMagick-6.8.3/include/ImageMagick-6/wand/MagickWand.h

ve terminalde yazın

C_INCLUDE_PATH=/Users/user/ImageMagick-6.8.3/include/ImageMagick-6/ gem install rmagick

bundan sonra bu hatayla karşılaşırsanız (çünkü bir hata oluştu) "Paket MagickCore pkg-config arama yolunda bulunamadı."

tip

mdfind MagickCore.pc

/opt/ImageMagick/lib/pkgconfig/MagickCore.pc gibi bir şey bul

ve son olarak terminal tipinde:

PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install rmagick

1
Komut mdfindyalnızca MacOSX komutudur, Linux varyantlarında mevcut değildir.
slm

@slm'in dediği gibi, lütfen QA'ya yardımcı olması için cevabınızı tekrar yazın.
Lorenzo Von Matterhorn

0

Mac OS X dağ aslanı altında redmine kuruyordum ...

Yükleyici rmagick'te başarısız oldu ...

Sorunların bir sürü sonra, "homebrew" yükleyerek çalıştı, ancak homebrew aracılığıyla rmagick yüklemek DEĞİL. Onun yerine "pkg-config" i homebrew aracılığıyla kurdum, çünkü rmagick bundan şikayet ediyordu.

Komutlar:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
brew doctor
brew install pkg-config
sudo gem install rmagick

Sonra redmine sorunsuz bir şekilde kurulmaya devam etti.



0

Rmagic'i yüklemeden önce sisteminize imagic yüklemelisiniz, imagick kurulumu işletim sisteminize göre değişir, Sonra sisteminizde görüntü işleme kütüphanelerini birleştirmek için dahili olarak ruby'yi destekleyen bazı kütüphaneler yüklemeniz gerekir. Bu kütüphaneleri kurmak için aşağıdaki komutu kullanın: Linux için: sudo apt-get install libmagickwand-dev imagemagick Centos için: yum install libmagickwand-dev imagemagick

o zaman gem rmagick aşağıdaki komutla yüklemek zorundasınız: gem install rmagick Benim için çalışıyor ve başarıyla rmagick yüklü ...


0

@ Irongaze.com yanıtına en yakın! Arch Linux'umda şu iki sembolik bağı oluşturdum:

$ sudo ln -s /usr/include/ImageMagick-6/wand /usr/include/wand
$ sudo ln -s /usr/include/ImageMagick-6/magick /usr/include/magick

Sonra bundletekrar çalışır ve rmagickyüklenmiş düzeltildi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.