- 更新日: 2013年5月8日
 - Ruby
 
rvm で ruby 1.8.7 インストール時にエラーになったので gcc 4.9 を homebrew で入れた
rvm で ruby 1.8.7 をインストールしようとしたら軽くはまったので備忘録。環境は、Macbook Air で Mac OS X Lion 10.7.5。
| 
					 1 2 3 4  | 
						$ rvm install 1.8.7 The provided compiler '/usr/bin/gcc' is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`.  | 
					
rvm で ruby 1.8.7 のインストールを試みるが、llvm based な gcc だと ruby と gems に完全にはサポートされない、とエラーになります。gcc を確認してみる。
gcc を確認
| 
					 1 2 3 4 5 6 7 8 9 10 11  | 
						$ which gcc /usr/bin/gcc $ gcc --v Using built-in specs. Target: i686-apple-darwin11 Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1 Thread model: posix gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)  | 
					
/usr/bin/gcc は記憶によると Mac に Xcode 入れた時についでに入れたやつです。なので、gcc を自分で入れることにする。
gcc を homebrew でインストール
Mac では Homebrew を使っているので、まずは brew search コマンドで gcc を探す。
| 
					 1 2 3 4  | 
						$ brew search gcc apple-gcc42  gcc  | 
					
続いてインストール。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18  | 
						$ brew install gcc ==> Installing gcc dependency: mpfr ==> Downloading http://www.mpfr.org/mpfr-3.1.1/mpfr-3.1.1.tar.bz2 ######################################################################## 100.0% ==> Downloading patches curl: (22) The requested URL returned error: 404 Error: Failure while executing: /usr/bin/curl -f#LA Homebrew\ 0.9.3\ (Ruby\ 1.8.7-358;\ Mac\ OS\ X\ 10.7.5) http://www.mpfr.org/mpfr-current/allpatches -o 000-homebrew.diff $ brew install gcc ==> Installing gcc dependency: mpfr ==> Downloading http://www.mpfr.org/mpfr-3.1.1/mpfr-3.1.1.tar.bz2 Already downloaded: /Library/Caches/Homebrew/mpfr-3.1.1-p2.tar.bz2 ==> Downloading patches curl: (22) The requested URL returned error: 404 Error: Failure while executing: /usr/bin/curl -f#LA Homebrew\ 0.9.3\ (Ruby\ 1.8.7-358;\ Mac\ OS\ X\ 10.7.5) http://www.mpfr.org/mpfr-current/allpatches -o 000-homebrew.diff  | 
					
curl でリクエストされた URL が404を返すので、 Homebrew 自体をアップデート。
| 
					 1 2 3  | 
						$ brew update  | 
					
gcc インストール。
| 
					 1 2 3 4 5 6 7 8 9 10  | 
						$ brew install gcc Error: No available formula for gcc GCC is now maintained in homebrew-versions, with major version number in formula name as suffix. Please tap using:     brew tap homebrew/versions and then install GCC based on its version, e.g., 'brew install gcc47'.  | 
					
どうやら GCC は homebrew-versions というリポジトリで管理されているので、brew tap でリポジトリ追加後インストールしてくれと。brew tap で現在利用できるリポジトリを確認後、homebrew/versions リポジトリを追加する。
| 
					 1 2 3 4 5 6 7  | 
						$ brew tap homebrew/dupes josegonzalez/php $ brew tap homebrew/versions ...  | 
					
gcc を検索。
| 
					 1 2 3 4  | 
						$ brew search gcc apple-gcc42  gcc43	  gcc44	       gcc45	    gcc46	 gcc47	      gcc48	   gcc49	llvm-gcc28  | 
					
一番新しそうな gcc 4.9 をインストールします。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46  | 
						$ brew install gcc49 Warning: Your Xcode (4.5.2) is outdated Please install Xcode 4.6.2. ==> Installing gcc49 dependency: gmp ==> Downloading ftp://ftp.gmplib.org/pub/gmp-5.1.1/gmp-5.1.1.tar.bz2 ######################################################################## 100.0% ######################################################################## 100.0%==> ./configure --prefix=/usr/local/Cellar/gmp/5.1.1 --enable-cxx ==> make ==> make check ==> make install /usr/local/Cellar/gmp/5.1.1: 12 files, 2.5M, built in 3.5 minutes ==> Installing gcc49 dependency: mpfr ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/mpfr-3.1.2.lion.bottle.tar.gz ######################################################################## 100.0% ==> Pouring mpfr-3.1.2.lion.bottle.tar.gz /usr/local/Cellar/mpfr/3.1.2: 23 files, 3.3M ==> Installing gcc49 dependency: libmpc ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/libmpc-1.0.1.lion.bottle.tar.gz ######################################################################## 100.0% ==> Pouring libmpc-1.0.1.lion.bottle.tar.gz /usr/local/Cellar/libmpc/1.0.1: 9 files, 292K ==> Installing gcc49 dependency: pkg-config ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/pkg-config-0.28.lion.bottle.tar.gz ######################################################################## 100.0% ==> Pouring pkg-config-0.28.lion.bottle.tar.gz /usr/local/Cellar/pkg-config/0.28: 10 files, 636K ==> Installing gcc49 dependency: isl ==> Downloading http://www.kotnet.org/~skimo/isl/isl-0.11.2.tar.bz2 ######################################################################## 100.0% ==> ./configure --prefix=/usr/local/Cellar/isl/0.11.2 ==> make install /usr/local/Cellar/isl/0.11.2: 52 files, 3.0M, built in 55 seconds ==> Installing gcc49 dependency: cloog ==> Downloading http://www.bastoul.net/cloog/pages/download/count.php3?url=./cloog-0.18.0.tar.gz ######################################################################## 100.0% ==> ./configure --prefix=/usr/local/Cellar/cloog/0.18.0 --with-isl-prefix=/usr/local/opt/isl ==> make install /usr/local/Cellar/cloog/0.18.0: 31 files, 528K, built in 47 seconds ==> Installing gcc49 ==> Downloading ftp://gcc.gnu.org/pub/gcc/snapshots/4.9-20130428/gcc-4.9-20130428.tar.bz2 ######################################################################## 100.0% ######################################################################## 100.0%==> ../configure --build=x86_64-apple-darwin11.4.2 --prefix=/usr/local/Cellar/gcc49/4.9-20130428/gcc --datarootdir=/usr/local/Cellar/gcc49/4.9-20130428/share --bindir=/usr/local/Cellar/gcc49/4.9-20130428 ==> make bootstrap ...  | 
					
40分以上かかってやっと gcc が入りました。
インストールした gcc4.9 へのシンボリックリンク設定
/usr/local/bin に gcc4.9 関連の bin(へのシンボリックリンク)が作成されているのを確認。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18  | 
						$ ls -la /usr/local/bin | grep 4.9 lrwxr-xr-x    1 takafumir  admin      40  5  8 07:29 c++-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/c++-4.9 lrwxr-xr-x    1 takafumir  admin      40  5  8 07:29 cpp-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/cpp-4.9 lrwxr-xr-x    1 takafumir  admin      40  5  8 07:29 g++-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/g++-4.9 lrwxr-xr-x    1 takafumir  admin      40  5  8 07:29 gcc-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/gcc-4.9 lrwxr-xr-x    1 takafumir  admin      43  5  8 07:29 gcc-ar-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/gcc-ar-4.9 lrwxr-xr-x    1 takafumir  admin      43  5  8 07:29 gcc-nm-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/gcc-nm-4.9 lrwxr-xr-x    1 takafumir  admin      47  5  8 07:29 gcc-ranlib-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/gcc-ranlib-4.9 lrwxr-xr-x    1 takafumir  admin      41  5  8 07:29 gcov-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/gcov-4.9 lrwxr-xr-x    1 takafumir  admin      66  5  8 07:29 x86_64-apple-darwin11.4.2-c++-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/x86_64-apple-darwin11.4.2-c++-4.9 lrwxr-xr-x    1 takafumir  admin      66  5  8 07:29 x86_64-apple-darwin11.4.2-g++-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/x86_64-apple-darwin11.4.2-g++-4.9 lrwxr-xr-x    1 takafumir  admin      66  5  8 07:29 x86_64-apple-darwin11.4.2-gcc-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/x86_64-apple-darwin11.4.2-gcc-4.9 lrwxr-xr-x    1 takafumir  admin      68  5  8 07:29 x86_64-apple-darwin11.4.2-gcc-4.9.0 -> ../Cellar/gcc49/4.9-20130428/bin/x86_64-apple-darwin11.4.2-gcc-4.9.0 lrwxr-xr-x    1 takafumir  admin      69  5  8 07:29 x86_64-apple-darwin11.4.2-gcc-ar-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/x86_64-apple-darwin11.4.2-gcc-ar-4.9 lrwxr-xr-x    1 takafumir  admin      69  5  8 07:29 x86_64-apple-darwin11.4.2-gcc-nm-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/x86_64-apple-darwin11.4.2-gcc-nm-4.9 lrwxr-xr-x    1 takafumir  admin      73  5  8 07:29 x86_64-apple-darwin11.4.2-gcc-ranlib-4.9 -> ../Cellar/gcc49/4.9-20130428/bin/x86_64-apple-darwin11.4.2-gcc-ranlib-4.9  | 
					
/usr/bin の gcc は llvm の gcc を向いたままになっています。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13  | 
						$ ls -la /usr/bin | grep llvm lrwxr-xr-x     1 root   wheel        12 12 10 15:25 g++ -> llvm-g++-4.2 lrwxr-xr-x     1 root   wheel        12 12 10 15:25 gcc -> llvm-gcc-4.2 lrwxr-xr-x     1 root   wheel        28 12 10 15:25 gcov-4.2 -> ../llvm-gcc-4.2/bin/gcov-4.2 lrwxr-xr-x     1 root   wheel        52 12 10 15:25 i686-apple-darwin11-llvm-g++-4.2 -> ../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-g++-4.2 lrwxr-xr-x     1 root   wheel        52 12 10 15:25 i686-apple-darwin11-llvm-gcc-4.2 -> ../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2 lrwxr-xr-x     1 root   wheel        32 12 10 15:25 llvm-cpp-4.2 -> ../llvm-gcc-4.2/bin/llvm-cpp-4.2 lrwxr-xr-x     1 root   wheel        32 12 10 15:25 llvm-g++ -> ../llvm-gcc-4.2/bin/llvm-g++-4.2 lrwxr-xr-x     1 root   wheel        32 12 10 15:25 llvm-g++-4.2 -> ../llvm-gcc-4.2/bin/llvm-g++-4.2 lrwxr-xr-x     1 root   wheel        32 12 10 15:25 llvm-gcc -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2 lrwxr-xr-x     1 root   wheel        32 12 10 15:25 llvm-gcc-4.2 -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2  | 
					
homebrew で入れた gcc4.9 が gcc コマンドで起動されるようにシンボリックリンクを設定します。
| 
					 1 2 3 4  | 
						$ sudo ln -s /usr/local/bin/gcc-4.9 /usr/local/bin/gcc $ sudo ln -s /usr/local/bin/g++-4.9 /usr/local/bin/g++  | 
					
ちなみに私は、 ~/.zshrc に以下のように書いているので、 /usr/local/bin が /usr/bin よりも優先されます。
| 
					 1 2 3 4  | 
						$ vi ~/.zshrc PATH=/usr/local/bin:/usr/local/sbin:$PATH  | 
					
gcc のパスとバージョンを確認。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12  | 
						$ which gcc /usr/local/bin/gcc $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc49/4.9-20130428/gcc/libexec/gcc/x86_64-apple-darwin11.4.2/4.9.0/lto-wrapper Target: x86_64-apple-darwin11.4.2 Configured with: ../configure --build=x86_64-apple-darwin11.4.2 --prefix=/usr/local/Cellar/gcc49/4.9-20130428/gcc --datarootdir=/usr/local/Cellar/gcc49/4.9-20130428/share --bindir=/usr/local/Cellar/gcc49/4.9-20130428/bin --enable-languages=c --program-suffix=-4.9 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-cloog=/usr/local/opt/cloog --with-isl=/usr/local/opt/isl --with-system-zlib --enable-stage1-checking --enable-plugin --enable-lto --disable-werror --disable-nls --disable-multilib Thread model: posix gcc version 4.9.0 20130428 (experimental) (GCC)  | 
					
改めて rvm で ruby1.8.7 をインストール
改めて、ruby 1.8.7 を rvm でインストールして確認、入りました。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14  | 
						$ rvm install 1.8.7 ... $ rvm list rvm rubies    ruby-1.8.7-p370 [ i686 ] =* ruby-1.9.3-p194 [ x86_64 ] # => - current # =* - current && default #  * - default  | 
					
念のために、ruby1.8.7のインストール作業終了後に、gcc4.9へのシンボリックリンクは削除しました。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17  | 
						$ sudo rm /usr/local/bin/gcc $ sudo rm /usr/local/bin/g++ $ which gcc /usr/bin/gcc $ gcc --version i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00) Copyright (C) 2007 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 -v Using built-in specs. Target: i686-apple-darwin11 Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1 Thread model: posix gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)  | 
					
元々入っていた、Apple の llvm based の gcc に戻しました。
- – 参考リンク –
 - Kanlog: MacにHomebrewでgcc最新版(4.7)をいれるまで
 
- Ruby の関連記事
 - Gemの作り方(Ruby Gem)
 - ローカル開発中のgemをGemfileに書いてインストール
 - 熊本地震の余震が夜に多いのは本当か?Rubyプログラムで検証してみた
 - El Capitanでgemのnative extensionビルド失敗に対応
 - Rubyで親クラスから子クラスの定数を参照
 - MacabをRubyで使う
 - rbenv/ruby-buildでRuby最新バージョンをインストール
 - Rubyでクラスインスタンス変数にインスタンスメソッドからアクセス
 - 距離1kmあたりの緯度・経度の度数を計算(日本・北緯35度)
 - Google Maps Geocoding APIで住所から緯度・経度を取得するRubyコード
 

画像付き英語辞書 Imagict | 英単語をイメージで暗記





Leave Your Message!