solidityを使いたい(on CentOS)
v0.4.25の話です。のちに改善されるようです。
solidityをソースから入れようと思った
チュートリアル通りにやってみる
外部ツールをインストール(要root権限)
./scripts/install_deps.sh
まず最初に、これではCentOSであることを認識してくれない。。
中のシェルスクリプトを読み、CentOSであることを直接伝えてあげるとようやくyumが動いた。
ただ、CentOS7では一部がインストールされない。
ただ、無視して次に進んでみる。
外部ツールをインストール(要root権限)
./scripts/build.sh
これだと、buildでエラーが出る。
解決できたのは以下の点
https://github.com/ethereum/solidity/pull/4473/files
これは0.4.25時点でのバグなので、これを最新に直した(リリース前に分かってる明らかなバグなんだから、リリースで直そうぜとは思いつつ)
あといくつかのソース直したけど、ちょっと覚えてないのと、本題とは関係ないので割愛。
その上でも動かない。なぜか..と思っていたらこんな記述があった
./scripts/install_deps.sh
353 # CentOS needs some more testing. This is the general idea of packages
354 # needed, but some tweaking/improvements can definitely happen
と言うわけで、現状はsolidityをCentOSでコンパイルすることはできません!
結論
何が言いたいって、未だsolidityは全プラットフォームで快適にバグなく動くような状況ではないよっていことです。身に沁みた。
ちなみに
dockerでalpineを使えば何もしなくても0.4.25をコンパイルできました。
2018/12/09 追記
自分で書いた記事のこと忘れてCentOS7でコンパイルしようとしたところ、
シェル上のエラー
ERROR - Unsupported or unidentified Linux distro.
上記が出た。分かりやすくなってgoodですね。
0.5.1で検証しました。