ubuntu18+cmake+libtorch踩坑记录

老版本的ubuntu系统上使用最新的libtorch,存在许多坑,记录一下,大家遇到类型问题时,可以参考。

1 问题描述

使用cmake来编译基于libtorch编写的c++文件时,可能存在如下问题

1)ubuntu版本太低,不支持c++17标准。

       解决方案升级c++编译器,这里我用的是VSCode,通过升级VSCode,解决了这个问题。

2)cmake版本太低,cmake时,报出不常见错误,如

        Cannot specify link libraries for target "caffe2::mkl" which is not built by this project.

3)显示gcc版本太旧,无法生成pytorch的依赖,如

        #error "You're trying to build PyTorch with a too old version of GCC. We need GCC 9 or later."

2 升级CMake

2.1 下载

官网下载二进制压缩包:Download CMake

2.2 解压

首先cd 到Downloads目录下,然后执行解压指令

cd Downloads
sudo tar -zxvf cmake-3.29.3-linux-x86_64.tar.gz

查看版本信息,验证是否安装好

cd cmake-3.29.3-linux-x86_64/bin
camke -version

或者

./cmake -version

2.3 建立软链接

在建立软链接时,可能存在cmake冲突,冲突时需要先移除原本的cmake链接。

移除

sudo rm -rf /usr/bin/cmake

建立

sudo ln -s /home/touch/Downloads/cmake-3.29.3-linux-x86_64/bin/cmake /usr/bin/cmake

验证

cmake -version

3 升级gcc/g++版本

参考链接:Ubuntu18.04升级gcc/g++版本 - 知乎

在低版本的ubuntu中官方不支持安装更高版本的gcc/g++,因此采用ppa源来进行安装。

3.1 添加源

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

更新源

sudo apt-get update

3.2 安装指定版本的gcc/g++-11

apt install gcc-11 g++-11 -y

查找当前的存在的版本

locate gcc | grep -E "/usr/bin/gcc-"
//如果locate不能用,使用ls查询/usr/bin/gcc*和g++*,这一步骤,在下一步会用到

更改默认gcc/g++-11指向

/这里的gcc-7是找到当前系统存在的版本,在auto模式下,1代表优先级,优先级数值越大优先级越高
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 1    
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 1
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 10

查看gcc/g++版本

gcc --version
g++ --version

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以按照以下步骤在Ubuntu上编译TVM: 1. 参考官方安装文档,确保您的系统环境是Ubuntu 18.04 LTS 64-bit,并根据文档中的说明进行准备工作。 2. 使用以下命令安装所需的依赖项: ``` sudo apt-get update sudo apt-get install -y python python-dev python-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake ``` 3. 在终端中使用以下命令下载TVM的源代码,并切换到源代码目录: ``` git clone --recursive https://github.com/apache/incubator-tvm.git cd incubator-tvm ``` 4. 执行以下命令编译TVM和LLVM部分: ``` mkdir build cp cmake/config.cmake build/ cd build cmake .. make -j4 ``` 5. 编译完成后,您可以在build目录中找到编译好的TVM库和可执行文件。 请注意,这里的步骤是基于Ubuntu 18.04 LTS 64-bit的环境进行的,其他环境或需求可能会有所不同。提供了更详细的信息和特定环境下的编译指南,您可以参考官方文档以满足您的需求。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Ubuntu下TVM的编译安装](https://blog.csdn.net/weixin_43953703/article/details/94344889)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [dl-infer-perf:深度学习推理性能分析](https://download.csdn.net/download/weixin_42138545/16493843)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值