Macを10.4(Mojave)にアップデートし、Xcode Command Line Tools(macOS 10.14) for Xcode 10.2をインストールしたあと、gem install scrypt
の実行に失敗しました。
$ gem install scrypt -v 2.0.2
Building native extensions. This could take a while...
ERROR: Error installing scrypt:
ERROR: Failed to build gem native extension.
...
gcc -bundle -o x86_64-darwin/libscrypt_ext.bundle x86_64-darwin/crypto_scrypt-sse.o x86_64-darwin/memlimit.o x86_64-darwin/scrypt_calibrate.o x86_64-darwin/scrypt_ext.o x86_64-darwin/scryptenc_cpuperf.o x86_64-darwin/sha256.o -fexceptions -arch x86_64 -arch i386
ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS)
ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd, missing required architecture i386 in file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd
Undefined symbols for architecture i386:
...
文字通り10.4(Mojave)向けのCommand Line Toolsから-arch i386
をサポートしなくなったことが原因らしい。
https://developer.apple.com/download/more/ から Xcode Command Line Tools(macOS 10.13) for Xcode 10.1 をインストールしたら、gem install scrypt
できるようにしました。
(ただ根本的な解決にはなっていないので、要調査)