Published on

Building gflags, glog, and protobuf for Intel Edison

Authors

Start by building gflags.

gflags

$ tar xzvf gflags-2.1.2
$ cd gflags-2.1.2
$ mkdir build && cd build
$ (source ~/intel-edison/bin/poky-edison/1.7.2/environment-setup-core2-32-poky-linux && ccmake ..)

After pressing c, change CMAKE_INSTALL_PREFIX.

$ (source ~/intel-edison/bin/poky-edison/1.7.2/environment-setup-core2-32-poky-linux && make && make install)

glog

$ tar xzvf glog-0.3.4.tar.gz
$ cd glog-0.3.4
$ (source ~/intel-edison/bin/poky-edison/1.7.2/environment-setup-core2-32-poky-linux && ./configure --prefix=/home/daisuke/intel-edison/lib/glog --with-gflags=/home/daisuke/intel-edison/lib/gflags)
$ (source ~/intel-edison/bin/poky-edison/1.7.2/environment-setup-core2-32-poky-linux && make && make install)

When using it, you do not need to link the gflags library. If you do link it, the program crashes at runtime with an error like the following.

ERROR: something wrong with flag 'tab_completion_word' in file
'/home/daisuke/intel-edison/lib/build/gflags-2.1.2/src/gflags_completions.cc'.
One possibility: file
'/home/daisuke/intel-edison/lib/build/gflags-2.1.2/src/gflags_completions.cc' is
being li

protobuf

The compiler is also used on the host side, so build it for both the host and the target. Start with the host version.

$ tar xzvf protobuf-cpp-3.0.0-beta-2.tar.gz
$ cd protobuf-3.0.0-beta-2
$ ./configure --prefix=/home/daisuke/lib/protobuf
$ make && make install

Next, build the Edison version. If you build it as-is, it complains that Glibcxx cannot be found, so add the runtime path as shown below.

$ tar xzvf protobuf-cpp-3.0.0-beta-2.tar.gz
$ cd protobuf-3.0.0-beta-2
$ (source ~/intel-edison/bin/poky-edison/1.7.2/environment-setup-core2-32-poky-linux && export LD_LIBRARY_PATH=/home/daisuke/intel-edison/bin/poky-edison/1.7.2/environment-setup-core2-32-poky-linux/usr/lib && ./configure --prefix=/home/daisuke/intel-edison/lib/protobuf)
$ (source ~/intel-edison/bin/poky-edison/1.7.2/environment-setup-core2-32-poky-linux && export LD_LIBRARY_PATH=/home/daisuke/intel-edison/bin/poky-edison/1.7.2/environment-setup-core2-32-poky-linux/usr/lib && make && make install)