Macでlibtool: unrecognized option `-static'といエラーが出たときの対応

現象

npm installでモジュール入れようとすると、、ビルドでこける(以下、抜粋)。

ちなみに、npm install -g remixdでこけた。

> node-gyp rebuild

  SOLINK_MODULE(target) Release/copied_files.node
  CC(target) Release/obj.target/scrypt_wrapper/src/util/memlimit.o
  CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/keyderivation.o
  CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/pickparams.o
  CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/hash.o
  LIBTOOL-STATIC Release/scrypt_wrapper.a
libtool: unrecognized option `-static'
libtool: Try `libtool --help' for more information.
make: *** [Release/scrypt_wrapper.a] Error 1
gyp ERR! build error

node-gypのエラーはpython2.7を入れたら解決!的な記事もあったが、私の環境ではpythonは2.7。。。

原因

原因は私の環境に強く依存するものでした。。。
私はMAMPを使っており、MySQLをPATHを通すため、.bash_profileで、

export PATH=/Applications/MAMP/Library/bin:$PATH

として、MAMPが/usr/binよりも優先されるようにしていたのですが、/Applications/MAMP/Library/bin以下にもlibtoolがり、さらにそのlibtoolが/usr/bin/libtool(標準)とは仕様が違うようなのです。

対応

方法は2つの方向

  • .bash_profileのPATHを変更する(MAMP優先でなくする)
  • PATH=/Applications/MAMP/Library/bin/libtoolをリネームする

MAMPのlibtoolを利用することは無いのでとりあえず後者のリネームで対応しました。何か不具合があればまた考えます。

私的環境依存ですが、いちおうメモ。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.