protobuf
1. 构建版本
2. 构建环境
[root@5cef9fb1156f protobuf-2.5.0]# cat /etc/os-release
NAME="Loongnix-Server Linux"
VERSION="8"
ID="loongnix-server"
ID_LIKE="rhel fedora centos"
VERSION_ID="8"
PLATFORM_ID="platform:lns8"
PRETTY_NAME="Loongnix-Server Linux 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:loongnix-server:loongnix-server:8"
HOME_URL="http://www.loongnix.cn/"
BUG_REPORT_URL="http://bugs.loongnix.cn/"
CENTOS_MANTISBT_PROJECT="Loongnix-server-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
[root@5cef9fb1156f protobuf-2.5.0]# uname -a
Linux 5cef9fb1156f 4.19.190-2.1.lns8.loongarch64 #1 SMP Thu Sep 23 08:52:56 UTC 2021 loongarch64 loongarch64 loongarch64 GNU/Linux
3.源码适配
具体查看:https://github.com/Loongson-Cloud-Community/protobuf/tree/loong64-v2.5.0 的git log信息
4. 构建
编译有两种方式静态编译和动态编译,源码默认的编译方式动态编译
./autogen.sh
./configure (静态编译:./configure --enable-shared=no)
make (全部静态编译 make LDFLAGS=-all-static)
a.export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
b../configure --prefix=/usr //使用该命令将protobuf安装到/usr路径下
5. 常见问题
protoc执行报错:
这是由于使用官方源码默认生成的二进制是动态的。 解决:使用时需要将src/.libs中的lib开头的库文件复制到本地的/lib目录下,此时protoc二进制便可以运行。 或者设置export LD_LIBRARY_PATH=xxx/protobuf/src/.libs:$LD_LIBRARY_PATH