Xcode8にアップグレードしたらHomebrewでエラーが出た話

先日、XcodeをXcode 8.0にアップグレードしました。

その後Homebrewで何かのパッケージをインストールしようとすると以下のようなエラーが出てしまいました。

その対処方法をメモしておきます。

ld: unexpected token: !tapi-tbd-v2 file '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOS
X10.12.sdk/usr/lib/libSystem.tbd' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'clang' failed with exit status 1

原因と対処方法

XcodeのCommand Line Toolsが正しくセットされていないことが原因でした。

Xcodeを起動し、Command(⌘)キーとカンマ(,)キーの同時押しで設定を開きます。

Locationsのタブを開き、Command Line Toolsを「Xcode8.0 (8A218a)」に設定します。

Xcode command line tools

以上です。

この設定によりCommand Line Toolsがきちんと指定され、Homebrewでもエラーが出なくなりました。

xcode-selectを使ってPathを確認してみると、確かに先ほどの設定画面で指定したディレクトリが指定されています。

Mac:~ $ xcode-select -p
/Applications/Xcode.app/Contents/Developer
Mac:~ $ which clang
/usr/bin/clang
Mac:~ $ which ld
/usr/bin/ld
Mac:~ $ clang -v
Apple LLVM version 8.0.0 (clang-800.0.38)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Mac:~ $ ld -v
@(#)PROGRAM:ld  PROJECT:ld64-274.1
configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em (tvOS)
LTO support using: LLVM version 8.0.0, (clang-800.0.38)
TAPI support using: Apple TAPI version 1.30

エラー詳細

Xcodeのバージョンを8.0にアップグレードしてからcmakeやclangでエラーが出るようになってしまいました。

そのため、Homebrewで何らかのパッケージをインストールしようとするとエラーが出てしまっていたようです。

参考までにpygameをインストールしようとした際のエラーの全文を貼り付けておきます。

Mac:~ $ brew install pygame
==> Installing pygame from homebrew/python
==> Cloning https://bitbucket.org/pygame/pygame
Updating /Users/tiryoh/Library/Caches/Homebrew/pygame--hg
==> Checking out revision faa5879a7e6bfe10e4e5c79d04a3d2fb65d74a62
==> cat Setup_Darwin.in >> Setup
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/pygame/1.9.2a0 --single-version-externally-man
Last 15 lines from /Users/tiryoh/Library/Logs/Homebrew/pygame/02.python:
copying examples/scroll.py -> build/lib.macosx-10.11-intel-2.7/pygame/examples
copying examples/sound.py -> build/lib.macosx-10.11-intel-2.7/pygame/examples
copying examples/sound_array_demos.py -> build/lib.macosx-10.11-intel-2.7/pygame/examples
copying examples/stars.py -> build/lib.macosx-10.11-intel-2.7/pygame/examples
copying examples/testsprite.py -> build/lib.macosx-10.11-intel-2.7/pygame/examples
copying examples/vgrade.py -> build/lib.macosx-10.11-intel-2.7/pygame/examples
running build_ext
building 'pygame.imageext' extension
creating build/temp.macosx-10.11-intel-2.7
creating build/temp.macosx-10.11-intel-2.7/src
clang -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DEN
ABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENA
BLE_DTRACE -arch i386 -arch x86_64 -pipe -Ddarwin -DENABLE_NEWBUF=1 -I/usr/local/opt/sdl/include/SDL -I/usr/local/opt/sdl_image/in
clude/SDL -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Fra
meworks/Python.framework/Versions/2.7/include/python2.7 -c src/imageext.c -o build/temp.macosx-10.11-intel-2.7/src/imageext.o
clang -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -Wl,-F. build/temp.macosx-10.11-intel-2.7/src/imageext.o -lSDL -lS
DL_image -lpng -ljpeg -o build/lib.macosx-10.11-intel-2.7/pygame/imageext.so
ld: unexpected token: !tapi-tbd-v2 file '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOS
X10.12.sdk/usr/lib/libSystem.tbd' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'clang' failed with exit status 1

READ THIS: https://git.io/brew-troubleshooting
If reporting this issue please do so at (not Homebrew/brew):
  https://github.com/Homebrew/homebrew-python/issues

These open issues may also help:
pygame might need upgrading (1.9.2b6) https://github.com/Homebrew/homebrew-python/issues/322

参考サイト

Compilation fails with Xcode 8 |Adobe Communityhttps://forums.adobe.com/thread/2214483

コメント