Homebrewでbrew upgrade
しようとしたらgcc
の部分でずっと止まっていて、
見てみるとソースコードからコンパイルしている、とのこと。
Homebrewでは通常コンパイル済のbottleをインストールするので即座にインストールが完了しますが、
gcc
の場合にはXcode Command Line Tool (CLT)が入ってないとbottleからは入れられない、とのこと。
gccのインストール/アップグレードで起こった問題
brew upgrade
しようとしたところ
==> Upgrading gcc
Warning: Building gcc from source:
The bottle needs the Xcode CLT to be installed.
==> Downloading https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz
######################################################################## 100.0%
==> ../configure --build=x86_64-apple-darwin18.2.0 --prefix=/usr/local/Cellar/gcc/8.3.0 --libdir=/usr/local/Cellar/gcc/8.3.0/lib/gcc/8
==> make BOOT_LDFLAGS=-Wl,-headerpad_max_install_names
といった表示で結構長い間止まっていました。 表示にあるようにコンパイルしているので待っていれば終わるはずですが、 Xcode CLTが入っていればbottleから入れられるということで一旦中止。
Xcode CLTのインストール
Xcode CLTは
$ xcode-select --install
xcode-select: note: install requested for command line developer tools
でポップアップが出てきて従っていけば入れられます。
入っていれば
$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
の様な出力が得られるはずです。
なぜXcode CLTが入ってない?
このコマンド、Homebrewをインストールする際に実行されることになっていたはずなんですが、 何故か今のシステムには入ってなかった様です。
OSのアップグレードをした際にHomebrewは入ったままXcode CLTが一度削除されたとか、
Xcodeをアップデートした際には手動でもう一度xcode-select
でインストールしないといけない、
とかかもしれません。
を見てもCLTがない場合もサポートしてる、ということなので
なくても使えるわけですが、
gcc
の様にbottleからインストール出来ないものとかがあるので、
特にこだわりが無ければインストール/アップグレードの時間短縮のためにXcode CLTを入れておいた方が良いです。
また、OSのアップグレードやXcodeのアップグレードなどで?気づかないうちにXcode CLTがなくなってる場合もあるので ちょっとチェックして置いが方が良いかもです。