新しい環境で Rust の openssl を使うやつをビルドしようとしたところ、表題のようなエラーが出て失敗します。
こんな感じで、build-essential とかを入れろと言われますが、エラーは消えません。何が起きているのでしょうか?
クレート openssl のバージョンが古い
によると、0.9.x のバージョンだと OpenSSL の 1.1.0 くらいまでしか対応していないようです。
このとき、自分の環境は 3.0.10 でした。これでは match に引っ掛からないので openssl がビルドできないよーと言われてしまうわけです。
そもそも OpenSSL 1 系は EOL
によれば、1 系のサポートは 2023 年 9 月に終わっており、サポートされているのは 3 系のみとなっています。
クレート openssl のアプデをしよう!
Ubuntu 18.04 とかで 1.1.0 の OpenSSL を使えばとりあえずビルドはできますが、それよりはクレートのアップデートをした方がよいでしょう。
よくあるのは reqwest のバージョンが古いために依存の openssl のバージョンも古いとかです。
おわり
最近、WSL 環境を吹き飛ばして再構築したら急にこのエラーが出るようになったので辛い思いをしました。