開発環境
- OS : Mac OS X バージョン 10.8.4
症状
make実行時にerror: invalid instruction mnemonic 'adcxq' が出る。
下記ログは、rubyのバージョンアップ時にopensslをインストールしており、そのなかでmakeが実行されているもの。
$ rbenv install 2.3.1 Downloading openssl-1.0.2h.tar.gz... -> https://dqw8nmjcqpjn7.cloudfront.net/1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919 Installing openssl-1.0.2h... BUILD FAILED (OS X 10.8.4 using ruby-build 20160426-10-g2bd59bd) Inspect or clean up the working tree at /var/folders/hz/b4j1y31166xchfpzkhmg1_jr0000gn/T/ruby-build.20160508225226.46928 Results logged to /var/folders/hz/b4j1y31166xchfpzkhmg1_jr0000gn/T/ruby-build.20160508225226.46928.log Last 10 log lines: ^~~~~ x86_64-mont.s:1038:2: error: invalid instruction mnemonic 'adcxq' adcxq %rax,%r13 ^~~~~ x86_64-mont.s:1039:2: error: invalid instruction mnemonic 'adoxq' adoxq %rbp,%r15 ^~~~~ make[2]: *** [x86_64-mont.o] Error 1 make[1]: *** [subdirs] Error 1 make: *** [build_crypto] Error 1
原因
Failure to build openssl on OS X 10.9.5 · Issue #44282 · Homebrew/legacy-homebrew · GitHub
ここで書いてある通り、Xcodeとコマンドラインツールのバージョンの不一致が原因のようです
間違った手順
Xcodeをインストール
https://developer.apple.com/downloads/?=xcode からインストールできます。
4.6.3をインストールしました
コマンドラインツールをインストール
Xcode > Preference > Downloads > Components にある Command Line Tools を選択してインストールします
'The package "DeveloperToolsCLI.pkg" is untrusted." というエラー発生が発生
'The package "DeveloperToolsCLI.pkg" is untrusted." というエラー発生が発生して、コマンドラインツールのインストールができませんでした
セキュリティレベルを変更
こちらを参考に、Macのセキュリティレベルを変更しましたが、今回は効果がありませんでした。
コマンドラインツールをインストール
Xcodeからのインストールはあきらめて、Appleのダウンロードサイト https://developer.apple.com/downloads/?=command%20line%20tools からインストールします。
Command Line Tools (OS X Mountain Lion) for Xcode - September 2013 を選択しました。
参考 : Command Line Tools fail to install OS X Lion 10.7.3 Xcode 4.3 - Ask Different
エラー発生
$ rbenv install 2.3.1 Downloading openssl-1.0.2h.tar.gz... -> https://dqw8nmjcqpjn7.cloudfront.net/1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919 Installing openssl-1.0.2h... BUILD FAILED (OS X 10.8.4 using ruby-build 20160426-10-g2bd59bd) Inspect or clean up the working tree at /var/folders/hz/b4j1y31166xchfpzkhmg1_jr0000gn/T/ruby-build.20160508225226.46928 Results logged to /var/folders/hz/b4j1y31166xchfpzkhmg1_jr0000gn/T/ruby-build.20160508225226.46928.log Last 10 log lines: ^~~~~ x86_64-mont.s:1038:2: error: invalid instruction mnemonic 'adcxq' adcxq %rax,%r13 ^~~~~ x86_64-mont.s:1039:2: error: invalid instruction mnemonic 'adoxq' adoxq %rbp,%r15 ^~~~~ make[2]: *** [x86_64-mont.o] Error 1 make[1]: *** [subdirs] Error 1 make: *** [build_crypto] Error 1
対応
Xcode 4.6.3 に対応するコマンドラインツールが見つからなかったので、別のバージョン(5.1.1)をインストールしました。こちらのバージョンではXcodeのダウンロード画面からインストールすることができました。