ubuntu protobuf安装配置

     Protobuf,全称为Protocol Buffers,是Google开发的一种轻量级的数据交换格式,主要用于结构化数据的序列化和反序列化,适用于数据存储和通信协议的定义。 google提供了protobuf多种语言的实现:java、c#、c++、go和python,每一种实现都包含了相应语言的编译器以及库文件。相比于其他序列化机制(如XML和JSON),Protobuf具有更高的性能和更小的数据体积。其序列化后的二进制格式更加紧凑,占用的存储空间更小,传输速度更快,适用于数据存储和网络通信等多种场景。

安装依赖

sudo apt install autoconf automake libtool curl make g++ unzip

下载protobuf源码

使用wgetgit clone命令从Protobuf的GitHub仓库下载源码。

git clone https://github.com/protocolbuffers/protobuf.git

cd protobuf

git submodule update --init --recursive  # 如果需要的话,更新子模块

如果你需要特定版本,可以从GitHub的Releases页面下载对应版本的tar.gz包,并解压。以3.15.8版本为例

wget https://github.com/protocolbuffers/protobuf/releases/download/v3.15.8/protobuf-all-3.15.8.zip

或者

wget https://github.com/protocolbuffers/protobuf/releases/download/v3.15.8/protobuf-all-3.15.8.tar.gz

下载完成后,我们需要解压下载的源码包。使用以下命令:

unzip protobuf-all-3.15.8.zip

或者,如果下载的是.tar.gz文件:

tar -xzvf protobuf-all-3.15.8.tar.gz

进入源码目录

cd protobuf-3.15.8

编译安装

生成配置文件

./autogen.sh

配置环境

./configure

编译源码(时间较长)
make

安装

sudo make install

刷新动态库

sudo ldconfig

验证安装
安装完成后,使用protoc --version命令来验证Protobuf是否正确安装。

安装时遇到的问题

在执行sudo ldconfig出现错误:/sbin/ldconfig.real: /usr/local/cuda-12.2/targets/x86_64-linux/lib/libcudnn.so.8 不是符号链接,通常是因为libcudnn.so.8 文件不是一个符号链接(symbolic link),而是一个实际的库文件。ldconfig 工具主要用于管理动态链接器运行时绑定(runtime binding)的共享库,它期望某些库文件(特别是版本化的库)是通过符号链接指向实际库文件的,以便于版本管理和更新。

  • 确认 libcudnn 的安装
  • 创建符号链接

sudo ln -sf /usr/local/cuda/targets/x86_64-linux/lib/libcudnn.so.8.x.x /usr/local/cuda/targets/x86_64-linux/lib/libcudnn.so.8

PS: 替换 8.x.x 为你的 libcudnn.so 文件的实际版本号。

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值