未来永劫

メリーバッドエンドが好きです.

Mac OSX で gem install twitter できなかった話

環境

Mac OSX Mavericks

ruby -v 

で念のため rubyのver確認

ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-darwin13.0]

エラー内容

$ gem install twitter

したら

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

    /Users/[user_name]/.rvm/rubies/ruby-2.1.4/bin/ruby -r ./siteconf20150521-83034-htbchk.rb extconf.rb
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling ruby_http_parser.c
gcc: error: unrecognized command line option '-Wshorten-64-to-32'
gcc: error: unrecognized command line option '-Wdivision-by-zero'
gcc: error: unrecognized command line option '-Wextra-tokens'
make: *** [ruby_http_parser.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/[user_name]/.rvm/gems/ruby-2.1.4/gems/http_parser.rb-0.6.0 for inspection.
Results logged to /Users/[uesr_name]/.rvm/gems/ruby-2.1.4/extensions/x86_64-darwin-13/2.1.0/http_parser.rb-0.6.0/gem_make.out

解決方法

gccのエラーを吐いてるのでggって見るがこれといって解決に繋がるものはなかった.

$gcc --version

でversion確認すると,

gcc (GCC) 4.9.0 20130929 (experimental)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

と,gcc 4.9.0になっていたので,gccのversionの問題かと思ってgcc 4.2.Xに戻してみたがそれも上手く行かず.

困ったので,

$ sudo rm /usr/local/bin/gcc
$ sudo rm /usr/local/bin/g++
$ sudo ln -s /usr/bin/gcc /usr/local/bin/gcc
$ sudo ln -s /usr/bin/g++ /usr/local/bin/g++

この手順で gcc -> LLVMに戻してみた.

$gcc --version

を再び実行すると,

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix

となり,戻っていることが確認出来た.

この状態で

$ gem install twitter

を行うと無事にインストールできた.


これで今日からrubyで楽しいtwitterライフを送れます.
(インスコしておいてあれだけどやっぱりpythonに帰ります.)