Protobuf-c を Docker 上の Ubuntu 環境でインストールする
移転しました。
あらすじ
前回、 protobuf を Docker 上の Ubuntu 環境でインストールした。
今回は、いよいよ protobuf の C言語版である protobuf-c をインストールする。
protobuf-c をインストールするまでの手順
基本的には protobuf と同様に、以下の Readme に従う。
git hub からリポジトリをクローンする
こちらからクローン。詳細は省略します。
コンパイル/インストールする
Readme に書いてある通り、./autogen.sh && ./configure && make && make install
を実行すればコンパイル&インストールができるらしい。
ちなみに、前提として以下の記事の通り、 protobuf-c をコンパイルするための Ubuntu の環境は構築済みとする。
補足
なんと、リリース版なのにコンパイルエラーになる。(protobuf-c ver1.30)
In file included from protoc-c/c_file.cc:64:0: ./protoc-c/c_file.h:107:3: error: 'vector' does not name a type vector<string> package_parts_;
調べてみると、既知の問題らしく、 issue に解決策が載っていた。
どうやら、 vector
を std::vector
に、 pair
を std::pair
に置換すればよいとのこと。
理由は英語で解説してるっぽい人がいたけど、google先生に翻訳してもらってもよくわからん・・・
とりあえず言われた通り置換すると、一応コンパイル通りました。
動作確認
protoc-c --version
を実行し、以下が出たたらOK。
root@e834aae66aee:/work/protobuf-c# protoc-c --version protobuf-c 1.3.0 libprotoc 3.5.1
いやーしかし、リリース版がコンパイル通らないって・・・なんかこれ心配になってきたぞ・・・
次回はいよいよ、 protobuf-c を使って遊んでみる!