2009-08-10 20 views
16

sto avendo problemi con l'installazione del rubygem RMagick su CentOS 5. Ho seguito i passi descritti in http://rmagick.rubyforge.org/install2-linux.html ma quando provo:Problema installazione RMagick rubygem su CentOS 5

sudo gem install rmagick 

il risultato è:

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... no 
Can't install RMagick 2.11.0. Can't find Magick-config in /usr/bin:/bin 

*** 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.8/gems/rmagick-2.11.0 for inspection. 
Results logged to /usr/local/lib/ruby/gems/1.8/gems/rmagick-2.11.0/ext/RMagick/gem_make.out 

La directory/usr/local/bin contiene Magick-config ma non sono riuscito a visualizzare i rubygems. Ho provato il seguente, ma il risultato è stato lo stesso:

sudo gem install rmagick -- --with-opt-dir=/usr/local/bin 

Qualsiasi suggerimento sarebbe apprezzato.

risposta

25

Così ho finalmente riuscito a installare la versione 1.15.17 del rubygem RMagick! Ecco quello che ho fatto:

  1. disinstallato ImageMagick 6.5.4-9 e le librerie delegato che avevo installato dai sorgenti
  2. sudo yum install ImageMagick
  3. sudo yum install ImageMagick-devel
  4. curl -O http://www.zacharywhitley.com/linux/rpms/fedora/core/6/i386/msttcorefonts-2.0-1.noarch.rpm
  5. sudo rpm -ivh msttcorefonts-2.0-1.noarch.rpm
  6. ln -s /usr/share/fonts/msttcorefonts/ /usr/share/fonts/default/TrueType
  7. sudo gem install rmagick -v 1.15.17 --no-rdoc --no-ri

I commenti di blog da David Bock e Will erano inestimabili.

+1

Il collegamento del font non sembra funzionare, quindi ho seguito le istruzioni su http://www.go2linux.org/msttcorefonts-true-type-fonts-on-linux per installare i font. Ha funzionato come un fascino. –

+0

L'ultimo passo non è riuscito fino a quando non ho aggiunto le intestazioni ruby: sudo yum install ruby-devel – mveerman

+0

Ha funzionato per me, grazie Keith & Beerlington. In realtà ho riscontrato ulteriori problemi, avendo Zend Server CE già installato con una versione diversa di ImageMagick (nessun sviluppo, quindi non poteva gemma rmagick) sul mio sistema. Per risolvere il problema, avevo bisogno di impostare correttamente la variabile env LD_LIBRARY_PATH su/usr/lib (invece della posizione ZSCE) e di passarla ad apache. Per fare ciò con i passeggeri, ho trasformato la mia direttiva apache: "PassengerRuby/usr/bin/ruby" in "PassengerRuby/usr/bin/ruby_env" e ho riempito questo file con: #!/Bin/sh export LD_LIBRARY_PATH =/usr/lib: exec "/ usr/local/bin/ruby" "$ @" – maraspin

3

RMagick è notoriamente difficile da installare a causa di dipendenze da altri pacchetti, ecc Sono appena stato attraverso questo gioco su Ubuntu e il trucco era semplicemente quello di installare i pacchetti giusti, inclusi i pacchetti dev ecc io non sono a conoscenza CentOS ma qualcuno probabilmente interverrà con i pacchetti giusti per quello.

Se tutto il resto fallisce, la creazione e l'installazione di ImageMagick dal codice sorgente può essere generalmente eseguita.

Edit: Guardando una questione connessa, compaiono i seguenti:

Su alcune piattaforme (CentOS 5.2), ho dovuto installare le versioni specifiche di RMagick perché i repository di default per il mio gestore di pacchetti (YUM) aveva solo vecchie versioni delle librerie di sviluppo di RMagick. Ho installato questa versione tramite:

gem install rmagick -v 1.15.13 
+0

In realtà ho provato a installare una vecchia versione come suggerito sopra ma non era compatibile con i pacchetti installati. Così ho configurato, creato e installato ImageMagick dal sorgente, dopo aver installato i delegati come suggerito da http://rmagick.rubyforge.org/install2-linux.html. Sono stato in grado di installare RMagick dal sorgente ma ho bisogno che sia installato come RubyGem a causa di una dipendenza nella mia app Rails. Quello che mi piacerebbe capire è come forzare l'installazione gem per trovare Magick-config in/usr/local/bin. –

+0

un hack sporco che potrebbe funzionare è collegarlo a un link simbolico. Tuttavia, nella mia esperienza, una volta superato il tipo di problema di Magick-config, c'è un altro errore da qualche altra parte: penso che la causa principale di solito non sia un insieme di pacchetti compatibili. Su Ubuntu ho prima rimosso tutti i pacchetti relativi a ImageMagick e poi ho creato un set che sembrava funzionare per googling su ciò che altri avevano fatto e per tentativi ed errori. Come te, dovevo averlo come una gemma, per lo stesso motivo. Dovevo anche immaginare che imagemagick provenisse da pacchetti mentre l'intera build del server era automatizzata. – frankodwyer

+0

Grazie per le tue risposte, Frank. I tuoi commenti mi hanno incoraggiato a ritornare sul percorso che mi ha portato a installare correttamente la 1.15.17 in base ai pacchetti. –

0

Ho aggirato questo in RHEL 5.4 sintonizzando temporaneamente /usr/local/bin/Magick-config su /usr/bin/Magick-conf, quindi l'installazione gem potrebbe trovare questo eseguibile Magick-config.

Nel mio caso, ho installato ImageMagick dal codice sorgente con --prefix=/usr/local. Per qualche ragione, l'installazione della gem non ha voluto guardarci per la configurazione, anche con gem install --local ../rmagick-2.12.2.gem -- -with-opt-dir=/usr/local/bin. L'esecuzione di yum install ImageMagick-devel otterrebbe il file binario lì, ma in seguito l'installazione della gemella direbbe che ImageMagick era la versione sbagliata.

1

continuato a ottenere questo errore dopo aver seguito le istruzioni della risposta più votato:

RMagick: unable to read font `(null)'. 

così ho qualcosa da aggiungere al punto 7, tratto da un aggiornamento al blog di David Bock:

http://blog.codesherpas.com/on_the_path/2009/09/installing-centos-5-imagemagick-and-rmagick-september-2009-edition.html

gem install rmagick -v 1.15.17 --no-rdoc --no-ri -- --disable-htmldoc 

disabilitare la documentazione html è fondamentale per evitare ulteriori errori se i file dei font rendono infelice rmagick. Solo l'esito di circa 2 ore di lotta con questo problema.

1

CentOS 5.5 ImageMagick è legacy, quindi installare dal sorgente per poter utilizzare rmagick.

prendi i pacchetti RPM

wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/SRPMS/ImageMagick.src.rpm 
rpm -ivh --nomd5 ImageMagick.src.rpm 
cd /usr/src/redhat/SPECS 
rpmbuild -ba ImageMagick.spec 

probabilmente ottenere errore di dipendenza per:

  • perl-devel
  • Jasper-devel
  • DjVuLibre-devel

Add al tuo /etc/yum.repos.d/dag. repo

[dag] 
name=Dag RPM Repository for CentOS5 
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/ 
enabled=0 
gpgcheck=1 

Quindi importare la chiave GPG e installare il DjVuLibre-devel

rpm --import http://ftp.riken.jp/Linux/dag/RPM-GPG-KEY.dag.txt 
yum --enablerepo=dag install djvulibre-devel 

Quindi verificare se è possibile effettuare il numero di giri:

rpmbuild -ba ImageMagick.spec 

Se si ottiene la dipendenza perl-devel errore.

yum install perl 

quindi modificare l'ImageMagick.spec e sostituisci "perl-devel" per "perl", salvare e rpmbuild di nuovo.

rpmbuild -ba ImageMagick.spec 

Quindi installare le altre dipendenze:

yum install freetype 
yum install gd-devel 
wget http://www.osresources.com/files/centos-windows-fonts/msfonts.tbz 
mkdir /usr/share/fonts/default/TrueType 
tar xvjpf msfonts.tbz -C /usr/share/fonts/default/TrueType/ 

Diamo installarlo:

cd /usr/src/redhat/RPMS/i386 
rpm -Uvh ImageMagick-* 

Dopo tutto è possibile verificare se è installato il RMagick:

ruby -rrubygems -e "require 'RMagick'; puts Magick::Long_version;" 

basa su:

hi.baidu.com/rainchen/blog/item/089ef7364497de320a55a9a3.html

mobile-dev.izanagi-izanami.net/blog/?p = 48

41

Ho recentemente backport ImageMagick 6.5.4.7 da CentOS6 a CentOS5 così l'installazione di RMagick dovrebbe essere più facile in questo momento:

rpm -Uvh http://rbel.co/rbel5 
yum install ImageMagick-devel ImageMagick-c++-devel 
gem install rmagick 
+1

grazie, i pacchetti hanno funzionato bene – gerrit

+0

stupendo. grazie mille. Sono stato in grado di aggiornare imagemagick con successo e installare la gemma rmagick. –

+0

Grazie, hai cercato dappertutto, Rmagick è fantastico ma è un problema quando stai provando ad installarlo su Centos –

9

Il answer from rubiojr lavorato per me, ma il rbel.co è giù il momento. È possibile utilizzare invece rbel.frameos.org:

rpm -Uvh http://rbel.frameos.org/rbel5 
yum install ImageMagick-devel ImageMagick-c++-devel 
gem install rmagick 
Problemi correlati