あらすじ
前回、 protobuf を Docker 上の Ubuntu 環境でインストールした。
Protobuf を Docker 上の Ubuntu 環境でインストールする
あらすじ前回の続き今までの流れの概略protobuf-c をコンパイルしようと思ったら Windows 上ではうまくいかなかった→Ubuntu 環境だったらうまくいくのではと思い、 Docker (Docker ToolBox)...
今回は、いよいよ protobuf の C言語版である protobuf-c をインストールする。
protobuf-c をインストールするまでの手順
基本的には protobuf と同様に、以下の Readme に従う。
git hub からリポジトリをクローンする
こちらからクローン。詳細は省略します。
コンパイル/インストールする
Readme に書いてある通り、./autogen.sh && ./configure && make && make install
を実行すればコンパイル&インストールができるらしい。
ちなみに、前提として以下の記事の通り、 protobuf-c をコンパイルするための Ubuntu の環境は構築済みとする。
Protobuf を Docker 上の Ubuntu 環境でインストールする
あらすじ前回の続き今までの流れの概略protobuf-c をコンパイルしようと思ったら Windows 上ではうまくいかなかった→Ubuntu 環境だったらうまくいくのではと思い、 Docker (Docker ToolBox)...
Dockerfile を使って、自分用の Ubuntu の Docker イメージを作成する
前回の続き。tassi-yuzukko.hatenablog.com今回の目的docker pull ubuntuで最新版のubuntuイメージを取得することはできる。しかし、その場合、 sudoすら入っていない状態なので、一つずつ...
補足
なんと、リリース版なのにコンパイルエラーになる。(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 を使って遊んでみる!
コメント