macOS MojaveでErlangのコンパイル時にOpenSSLが見つからない。

macOS MojaveでErlangをインストールしてたら

 * crypto         : No usable OpenSSL found
 * ssh            : No usable OpenSSL found
 * ssl            : No usable OpenSSL found

と怒られたのでそれを直す方法を紹介したいと思います。

まず、このエラーが出たのはkerlを使用していたからだと思うのでそれを使用していない方はこの方法で治るかは分かりません。ちなみに私はasdfを使ってErlangのバージョン管理をしているのですが、それがkerlを使用しているため、この方法で治りました。

OpenSSLが見つからない結論から言いますと、ただkerlがmacOS MojaveでOpenSSLの場所をきちんと把握していなかったのが原因でした。kerlの環境変数であるKERL_CONFIGURE_OPTIONSにOpenSSLの場所を指定すれば治りました。

私はBrewを使用して最新版のOpenSSLをインストールしたので /usr/local/Cellar/openssl/1.0.2p を指定しました。

export KERL_CONFIGURE_OPTIONS="--disable-debug --disable-silent-rules --without-javac --enable-shared-zlib --enable-dynamic-ssl-lib --enable-hipe --enable-sctp --enable-smp-support --enable-threads --enable-kernel-poll --enable-wx --enable-darwin-64bit --with-ssl=/usr/local/Cellar/openssl/1.0.2p"

OpenSSLに関係しないオプションは無くてもインストールできると思います。

ちなみにGitHubのIssueに載っていました。興味ある方は短いIssueですので見てみても良いかもしれません。

Leave a Reply

Your email address will not be published. Required fields are marked *