error: failed to run custom build command for `openssl-sys *** ` Rustでハマった。

Rustを使ってみたくて
Lambda関数を作ってみた。

その際に、いろいろドキュメントとか見たけど。
reqwestなどのopensslを使うライブラリのビルドで失敗し続けハマりにハマった。

他に詰まった人の助けになれば。

広告

failed to run custom build command for openssl-sys v0.9.63がでる

ひたすらこのエラー。

別の最新ライブラリを使うとこんなエラー

よくある対応策

探し回ると色々解決策はgithubのissueとかで挙がってた(私は全部当てはまらなかった..)

  • openssl-devl(centos), libssl-dev(ubuntu)をインストールする
  • 最新版のOpenSSLをインストールする
  • cargo update

OpenSSLの最新版を入れるのはCentOS7は保護されたライブラリのためほぼ無理。
CentOS8の最新版OpenSSLでやってみたけどだめ。
openssl-develを入れる。(これもだめだった)

私の解決策

rust-musl-builderというDockerイメージを作ってくれている人がいました。
その人のDockerファイルを独自に書き換えてビルドすることで解決しました。

すごい。゚(゚´Д`゚)゚。
ありがたすぎる。゚(゚´Д`゚)゚。
Rust諦めるところだった。゚(゚´Д`゚)゚。

詳しくはご本人のgithubをみてね。

Dockerはほんとに偉大ですわ。
ありがたやありがたや.....

じゃあね~~~~