2011-01-14 16 views
4

私はopenSUSE 11.3にRVMをインストールしました。私の好みのRubyのバージョンはMRI 1.9.2p136です。 私はRMagickの宝石をインストールしようと、次の出力を得た:openSUSE 11.3にRMagickをインストールする - gemが拡張機能を構築できませんでした

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>' 

は、ここで私は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 */ 

実際には、エラーが私に何かを教えてくれありません。私はすでにすべての基本的な開発パッケージとImageMagickヘッダをインストールしています。まだいくつかの開発用バイナリがありませんか?

+0

システム管理者の質問によく似ています。これはSuperUser.comでこれを確認すると良い結果になるでしょう。 – stef

答えて

6

あなたの投稿に感謝します。私は同じ問題を抱えていましたが、答えはとても簡単でした。 私はbzip2開発ヘッダーをインストールしました。

libbz2-develの中でzypper

この作業の後rmagickのインストールが働いていました。 (たぶん、あなたは完全なBZIP2パッケージをインストールする必要がありますか?)

+1

ありがとうございます! – meandre

+0

うわー - どうやってエラーメッセージからそれを解決しましたか?あなたはmkmf.logログファイルか何かを捨てたのですか?あなたは世界に説明を借りています...(ちなみに1 ...)乾杯 –

3

だから、最終的に: はopenSUSEの11.3にrmagick宝石をインストールするには、前提条件は次のとおりです。 ImageMagickの-develの、libMagick ++ - develの、libbz2-develの

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

私は同じ問題を抱えていました。残りのスレッドで言及したすべてのパッケージをインストールしましたが、無駄です。結局、言及されていないが、エラーメッセージでポップアップしたカップルを取った - 私がインストールしなければならなかったパッケージはtdlとlibtoolだった。

+1

私の場合は非常によく似ています: 'zypper install libbz2-devel libtool' – tanius

関連する問題