Eu compilei o ImageMagick no meu CentOS, e o RMagick não irá instalar

16

Eu instalei o ImageMagick através de (usando o ImageMagick 6.7.3-7)

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

Quando tento

gem install imagemagick

Eu obtenho

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

Isso ocorre apesar do fato de o MagickWand.h já estar no sistema em /usr/include/ImageMagick/wand/MagickWand.h . Então, a questão é, como eu realmente faço o compilador procurar lá?

    
por Ken Li 25.11.2011 / 19:04

10 respostas

26

Tive o mesmo problema no CentOS usando as últimas novidades (em dezembro de 2011) e corrigi-lo com:

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

no meu arquivo .bashrc para pegar MagickCore.pc, então criei dois symlinks:

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

E voila, o MagickWand.h foi encontrado, o MagickCore.pc foi escolhido ... gem instalado com sucesso.

Eu imagino que outra solução seria modificar as opções de configuração definidas durante a instalação do ImageMagick, mas eu não sou o suficiente de um administrador de sistema para deixar claro qual seria a opção e o local corretos para esses arquivos. Após 45 minutos pesquisando, eu não conseguia descobrir onde esses arquivos deveriam viver, para serem automaticamente selecionados pelo sistema gem install make.

Felicidades!

EDIT: 2014-10-01

Só fiz isso novamente para o CentOS 7, e os comandos ln acima não foram necessários. No entanto, me deparei com um problema em que recebi "O pacote MagickCore não foi encontrado no caminho de pesquisa do pkg-config." na execução de sudo gem install rmagick .

O problema foi a reinicialização do ambiente em / etc / sudoers. Depois de executar sudo visudo para editar o arquivo sudoers, adicionei Defaults env_keep += "PKG_CONFIG_PATH" à seção apropriada, atualizei o caminho seguro para incluir / usr / local / bin e, em seguida, a instalação funcionou como um encanto.

    
por 20.12.2011 / 22:50
13

O ImageMagick normalmente coloca o MagickCore aqui:

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

Se o seu não estiver lá, você pode encontrá-lo assim:

find / -name MagickCore.pc

Agora você conhece o caminho do pkgconfig:

/usr/local/lib/pkgconfig

Defina o ambiente quando você instalar a gem:

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gem install rmagick
    
por 26.02.2012 / 11:42
6

Para o CentOS, resolvi esse problema instalando o pacote "ImageMagick-devel":

yum install ImageMagick-devel

    
por 16.07.2013 / 22:56
2

A chave está na saída do configure onde diz "verificando varinha / MagickWand.h" - claramente o diretório ImageMagick não é esperado em / usr / include, o que significa que você precisa mover o conteúdo desse diretório para cima nível ou você precisa instalar o próprio ImageMagick de forma diferente. Colocar material diretamente em / usr geralmente é uma má idéia para qualquer coisa não fornecida pelo próprio sistema - se você separar todas as coisas que você adiciona em / usr / local e deixar / usr em grande parte sozinho, você encontrará o sistema muito mais fácil para administrar também, já que você poderá (muito depois de ter esquecido disso) descobrir o que você adicionou versus o que veio com o sistema.

    
por 25.11.2011 / 19:08
1

Você pode querer instalar o pacote de suporte apropriado para sua distribuição: link

Exatamente o mesmo problema no CentOS, rmagick instalado bem depois de yum install ImageMagick-devel

    
por 12.04.2012 / 01:44
1

Pode ser que você esteja instalando o ImageMagick versão 7.x.x, o que gerará nomes de pastas diferentes na sua pasta usr/lib/local/include/ImageMagick7.x.x . Por exemplo,

Na versão ImageMagick6.x.x, temos magick , wand pastas nomeadas, onde na versão ImageMagick7.x.x foram nomeados MagickCore , MagickWand . Então esta updation está causando o problema em alguma instalação de gem como aqui. Que está usando magick/some_header.h ou wand/some_header.h (significa que eles não são atualizados com a nova versão 7.x.x ImageMagick). É por isso que estamos recebendo este erro:

'' '

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

'' '

e no arquivo de log algo assim:

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

Solução

Instale a versão ImageMagick6.xx no seu sistema a partir do site oficial: link e instale-a usando estes comandos (depois do extrato zip / tar):

./configure
make 
make install

Então faça

gem install rmagick

Funcionará.

    
por 24.01.2017 / 14:54
0
        1) install by installer

link

2) tente gem install rmagick

se estiver procurando por varinha / MagickWand.h ... no
tipo

mdfind MagickWand.h

encontre algo como

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

e digite terminal

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

se, depois disso, você tiver este erro (porque a teve) "O pacote MagickCore não foi encontrado no caminho de busca do pkg-config."

tipo

mdfind MagickCore.pc

encontre algo como /opt/ImageMagick/lib/pkgconfig/MagickCore.pc

e finalmente no tipo de terminal:

PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install rmagick
    
por 28.03.2013 / 13:14
0

Eu estava instalando o redmine no Leão da montanha Mac OS X ...

O instalador falhou no rmagick ...

Depois de muitos problemas, funcionou instalando o "homebrew", mas NÃO instalando o rmagick através do homebrew. Em vez disso eu instalei o "pkg-config" através do homebrew, porque o rmagick estava reclamando disso.

Os comandos:

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

Em seguida, o redmine foi instalado sem problemas.

    
por 18.04.2013 / 12:46
0

Isso resolveu o problema para mim. Aparentemente, a versão mais recente que vem com homebrew não funciona bem com a gema.

link

    
por 11.10.2013 / 23:15
0

Antes de instalar o rmagic você deve instalar o imagic no seu sistema, a instalação do imagick varia de acordo com o seu sistema operacional, Então você tem que instalar algumas bibliotecas que suportam internamente Ruby para mesclar bibliotecas de processamento de imagem em seu sistema. Para instalar essas bibliotecas, use o seguinte comando Para linux: sudo apt-get instala libmagickwand-dev imagemagick Para Centos: yum install libmagickwand-dev imagemagick

então você precisa instalar o gem rmagick com o seguinte comando:          gem instalar rmagick Funciona para mim e eu instalei rmagick com sucesso ...

    
por 11.06.2015 / 08:33