2011-01-14 10 views
4

Ich habe RVM auf openSUSE 11.3 installiert. Meine bevorzugte Ruby-Version ist MRI 1.9.2p136. Ich versuchte RMagick Juwel und bekam die folgende Ausgabe zu installieren:Installieren Sie RMagick auf openSUSE 11.3 - Gem konnte seine Erweiterung nicht erstellen

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

/home/user1/.rvm/rubies/ruby-1.9.2-head/bin/ruby extconf.rb 
checking for Ruby version >= 1.8.5... yes 
checking for gcc... yes 
checking for Magick-config... yes 

Warning: Found more than one ImageMagick installation. This could cause problems at runtime. 
     /usr/bin/Magick-config reports version 6.6.1 Q16 is installed in /usr 
     /usr/bin/X11/Magick-config reports version 6.6.1 Q16 is installed in /usr 
Using 6.6.1 Q16 from /usr. 

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=/home/user1/.rvm/rubies/ruby-1.9.2-head/bin/ruby 
/home/user1/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 
     from /home/user1/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp' 
     from /home/user1/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:834:in `block in have_header' 
     from /home/user1/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for' 
     from /home/user1/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone' 
     from /home/user1/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
     from /home/user1/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone' 
     from /home/user1/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
     from /home/user1/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:276:in `postpone' 
     from /home/user1/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for' 
     from /home/user1/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:833:in `have_header' 
     from extconf.rb:193:in `<main>' 

Hier ist, was ich habe in mkmf.log:

"gcc -o conftest -I/home/user1/.rvm/rubies/ruby-1.9.2-head/include/ruby-1.9.1/i686-linux -I/home/user1/.rvm/rubies/ruby-1.9.2-head/include/ruby-1.9.1/ruby/backward -I/home/user1/.rvm/rubies/ruby-1.9.2-head/include/ruby-1.9.1 -I. -I/usr/include/ImageMagick -I/usr/include/ImageMagick -fopenmp conftest.c -L. -L/home/user1/.rvm/rubies/ruby-1.9.2-head/lib -Wl,-R/home/user1/.rvm/rubies/ruby-1.9.2-head/lib -L/usr/lib -L/usr/lib -L/usr/lib -lMagickCore -llcms -ltiff -lfreetype -ljpeg -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lgomp -lpthread -lltdl -Wl,-R -Wl,/home/user1/.rvm/rubies/ruby-1.9.2-head/lib -L/home/user1/.rvm/rubies/ruby-1.9.2-head/lib -lruby-static -lpthread -lrt -ldl -lcrypt -lm -lc" 
/usr/lib/gcc/i586-suse-linux/4.5/../../../../i586-suse-linux/bin/ld: cannot find -lbz2 
collect2: ld returned 1 exit status 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: int main() {return 0;} 
/* end */ 

Eigentlich ist der Fehler nicht sagen mir nichts. Ich habe bereits alle grundlegenden Entwicklungspakete und ImageMagick-Header installiert. Fehle ich noch einige Entwicklungs-Binärdateien?

+0

Sieht eher wie eine Sysadmin-Frage aus - Sie würden wahrscheinlich bessere Ergebnisse erhalten, wenn Sie dies auf SuperUser.com fragen. – stef

Antwort

6

Ok, danke für deinen Beitrag. Ich hatte das gleiche Problem, aber die Antwort war ziemlich einfach. Ich habe die bzip2 Entwicklung Header installiert.

zypper in libbz2-devel

Nach diesen Aufgaben war die Installation von RMagick. (Vielleicht haben Sie die komplette bzip2-Paket installieren?)

+1

Danke, das funktioniert! – meandre

+0

Wow - wie hast du das aus den Fehlermeldungen gelernt? Haben Sie die mkmf.log-Protokolldatei oder etwas ähnliches in den Papierkorb verschoben? Du schuldest der Welt eine Erklärung ... (plus 1 übrigens ...) Prost –

3

So, endlich: RMagick Juwel auf openSUSE 11.3 zu installieren, Voraussetzungen sind: ImageMagick-devel, libmagick ++ - devel, libbz2-devel

su -c 'zypper in ImageMagick-devel libMagick++-devel libbz2-devel' - 
1

Ich hatte das gleiche Problem. Ich habe alle im Rest des Threads genannten Pakete vergeblich installiert. Am Ende brauchte es ein Paar, das nicht erwähnt wurde, aber in Fehlermeldungen aufgetaucht war - die Pakete, die ich installieren musste, waren tdl und libtool.

+1

Sehr ähnlich in meinem Fall: 'zypper install libbz2-devel libtool' – tanius