rcmdnk's blog

20190208_homebrew_200_200

Homebrewでbrew upgradeしようとしたらgccの部分でずっと止まっていて、 見てみるとソースコードからコンパイルしている、とのこと。

Homebrewでは通常コンパイル済のbottleをインストールするので即座にインストールが完了しますが、 gccの場合にはXcode Command Line Tool (CLT)が入ってないとbottleからは入れられない、とのこと。

Sponsored Links

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でインストールしないといけない、 とかかもしれません。

Installation — Homebrew Documentation

を見てもCLTがない場合もサポートしてる、ということなので なくても使えるわけですが、 gccの様にbottleからインストール出来ないものとかがあるので、 特にこだわりが無ければインストール/アップグレードの時間短縮のためにXcode CLTを入れておいた方が良いです。

また、OSのアップグレードやXcodeのアップグレードなどで?気づかないうちにXcode CLTがなくなってる場合もあるので ちょっとチェックして置いが方が良いかもです。

Sponsored Links
Sponsored Links

« Homebrew 2.0.0リリース: Linuxbrewの統合 LinuxでHomebrewを使う: Homebrew-fileも対応させた »