Erro ao instalar o gem rmagick no Ruby 1.8.6 rvm - “verificando InitializeMagick () em -lMagick… no”

0

Eu tenho um aplicativo antigo do Rails que mantenho que usa o Ruby 1.8.6. Estou tentando instalar uma nova instalação do Linux Mint 18 para que eu possa desenvolver para o aplicativo. Eu consegui instalar a mesma (quase) versão do ImageMagick como eu tenho no servidor, e não estou lutando para instalar o gem rmagick.

Eu preciso instalar o rmagick v2.2.2, já que é isso que temos no servidor. Mas, estou recebendo esse erro, veja abaixo:

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

/home/max/.rvm/rubies/ruby-1.8.6-p420/bin/ruby extconf.rb
checking for Ruby version >= 1.8.2... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.3.0... yes
checking for HDRI disabled version of ImageMagick... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for magick/MagickCore.h... yes
checking for InitializeMagick() in -lMagick... no
checking for InitializeMagick() in -lMagickCore... no
Can't install RMagick 2.2.2. Can't find libMagick or one of the dependent libraries. Check the mkmf.log file for more detailed information.


Gem files will remain installed in /home/max/.rvm/gems/ruby-1.8.6-p420@elearning-resource/gems/rmagick-2.2.2 for inspection.
Results logged to /home/max/.rvm/gems/ruby-1.8.6-p420@elearning-resource/gems/rmagick-2.2.2/ext/RMagick/gem_make.ou

Parece que eu preciso instalar alguma outra dependência com o apt-get, mas não sei ao certo. Mesmo que soubesse, acho que talvez precise instalar uma versão mais antiga para usar a versão mais antiga do ImageMagick que eu tenho?

O arquivo mkmf.log está aqui: link

Grato por qualquer conselho - obrigado!

    
por Max Williams 08.12.2016 / 10:52

1 resposta

0

Configure não pode encontrar a função InitializeMagick (), porque versões mais novas do ImageMagick passam um argumento extra para aquela função. Para a assinatura que sua versão do RMagick está procurando, você provavelmente precisará do ImageMagick < = 6.4.1, conforme descrito aqui , que não estará disponível como um pacote na sua distribuição. No entanto, pode valer a pena tentar modificar a gem para criar uma versão mais recente do ImageMagick, porque uma biblioteca antiga costuma ter muitas vulnerabilidades conhecidas, por exemplo, para este exemplo CVE-2016–3714 ou CVE-2012-1185 com ambos pode levar a execução remota de código ao analisar uma imagem ...

    
por 28.01.2017 / 17:00