Ubuntu 20.04安装Protocol Buffers 2.5.0

安装过程

Protocol Buffers 2.5.0源码下载:https://github.com/protocolbuffers/protobuf/tree/v2.5.0。下载并解压。

将autogen.sh文件中以下内容:

1
2
curl http://googletest.googlecode.com/files/gtest-1.5.0.tar.bz2 | tar jx
mv gtest-1.5.0 gtest

替换为:

1
2
3
wget https://github.com/google/googletest/archive/release-1.5.0.tar.gz
tar xzvf release-1.5.0.tar.gz
mv googletest-release-1.5.0 gtest

执行以下命令进行安装:

1
2
3
4
5
./autogen.sh
./configure
make
make check
make install

安装问题

问题一

问题现象

执行 autogen.sh 时出现一下错误:

1
2
3
4
configure.ac:29: error: possibly undefined macro: AC_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1

问题解决

安装 libtool:

1
sudo apt-get install libtool

问题二

问题现象

安装完成后验证出现以下错误:

1
2
$ protoc --version
protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared object file: No such file or directory

问题解决

  • 使用find命令找到libprotoc.so.8文件位置。
1
2
3
$ cd /usr/local/
$ find . -name libprotoc.so.8
./lib/libprotoc.so.8
  • 创建/etc/ld.so.conf.d/libprotobuf.conf文件,并输入以下内容:
1
/usr/local/lib
  • 执行命令:sudo ldconfig