こんにちは.Mavericksしてますか?
Mavericksにすると人によっては以下の様な問題が観測されるようです.
(1) gccの動きが変
(2) gdbが無い
(1)の問題はgccというコマンドがclangのエイリアスになるためです.
gcc と打って clang: no input files 的なエラーが出たらそれはgccの皮を被ったclangです.
clangはなるべくたくさん警告が出るようにしてるらしいので,
今までgcc用に書いてたものをclangでコンパイルすると警告がうざいorエラーが出る可能性があります.
clang自体は速くて良いコンパイラらしいのですが,どうしてもgccが使いたい人は下の解決策へ.
(2)は当たり前ですがgdbが無くなるためです.
gdb無いと困る人は下の解決策へ.
【解決策】
とりあえずCommand line tools(CLT)をインストールしてください.
llvm-gcc-4.2 と打って command not found にならなかったら,
シェルの設定ファイルに alias gcc=llvm-gcc-4.2 と書けばgccが今までと変わらない挙動になります.
無い場合はhomebrewでgccをインストールして,例えばgcc4.9入れた場合は
alias gcc=gcc-4.9 と書けば gcc でgccが使えるようになります.
(ただしllvm-gccに比べてコンパイルがちょっと遅い)
gdbは,CLTインストール後に gdb と打って command not found になったら,
自分でインストールする必要があります.clangだとmakeに失敗するので,
sudo cp /usr/local/bin/gcc-4.9 /usr/bin/gcc
を実行してgccを書き換えたらできました.
【追記】
上の方法でインストールしたgdbをそのまま使うと、『プロセス制御権がないので実行できない』と出ることがあります。その際、sudo gdbでもいいのですが、下記の記事では制御権を与える方法が紹介されています。
Macでgdbにプロセスの制御権を与える handlename's blog
これを実行後Macを*再起動すると、sudoなしで(以前と同じように)gdbできます。
*壁紙がdefaultになるケースが報告されています。注意しましょう。
もっと詳しい原因or解決策が分かったら追記よろしく(ી(΄◞ิ౪◟ิ‵)ʃ)
MacPorts自体がMavericksに対応してなくて困っとる
返信削除http://hirozak.blogspot.jp/2013/02/linux-gdb.html
返信削除ここ参考にしたら入れられました!
でも/usr/bin/gccがclangだとmake失敗するんで,brewでgccインストールしてから
/usr/bin/gcc を /usr/local/bin/gcc-4.9 で置き換えてからビルドする必要がありそうです
http://alcohorhythm.hatenablog.com/entry/2013/10/24/225431
返信削除ここも良い
gccなくてrailsのgem(therubyracer)が動かない現象がおこりましたが、こちらの情報が鍵となって助かりました。
返信削除コマンドラインツールのインストールがキーでした。
ありがとうございます!
お役に立てて光栄です。
削除一同代表。