NVIDIA Jetson AGX Orin源码编译安装CV-CUDA

2024-08-26 20:36

本文主要是介绍NVIDIA Jetson AGX Orin源码编译安装CV-CUDA,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1  下载源码并配置

2 编译安装CV-CUDA

2.1 安装相应依赖包

2.2 升级gcc到gcc-11

2.3 build

2.4 升级cmake

2.5 再次build

2.5.1 报错 /usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’:

3 直接使用安装包

参考文献:


Jetson AGX Orin还没到货,先在之前的Jetson AGX Xavier上面做相关开发,我Jetson AGX Xavier上新刷的机,然后JetPack用的是5.1.3。下面记录下我在Jetson上的CV-CUDA的编译安装工作。

1  下载源码并配置

sudo apt install -y git git-lfs
git clone https://github.com/CVCUDA/CV-CUDA.git
cd CV-CUDA/
./init_repo.sh 

执行init_repo.sh之后报错

./init_repo.sh 
pre-commit must be fully configured.
Try 'sudo apt-get install -y pip shellcheck && sudo pip install pre-commit'.

那就先执行这两个命令,然后再配置

sudo apt-get install -y pip shellcheck
sudo pip install pre-commit

然后 vim .pre-commit-config.yaml 里面加入如下内容

repos:- repo: https://github.com/pre-commit/pre-commit-hooksrev: v3.4.0hooks:- id: trailing-whitespace- id: end-of-file-fixer- id: check-yaml

然后

pre-commit install

然后再次执行 ./init_repo.sh

2 编译安装CV-CUDA

2.1 安装相应依赖包

sudo apt install -y cmake ninja-build python3-dev libssl-dev patchelf

2.2 升级gcc到gcc-11

如果直接apt install gcc-11 g++-11会报下面的错误

sudo apt install gcc-11 g++-11
Reading package lists... Done
Building dependency tree... 0%
Building dependency tree       
Reading state information... Done
E: Unable to locate package gcc-11
E: Unable to locate package g++-11

需要添加PPA源,然后再安装

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-11 g++-11

然后更改替代项

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11

然后选择默认版本

sudo update-alternatives --config gcc
sudo update-alternatives --config g++

然后发现成功升级成11版本

2.3 build

mkdir build
ci/build.sh release  -DBUILD_TESTS=1 -DPYTHON_VERSIONS=3.8 -DPUBLIC_API_COMPILERS=gcc-11

发生下面的错误

ci/build.sh release  -DBUILD_TESTS=1 -DPYTHON_VERSIONS=3.8 -DPUBLIC_API_COMPILERS=gcc-11
CMake Error at CMakeLists.txt:16 (cmake_minimum_required):CMake 3.20.1 or higher is required.  You are running version 3.16.3-- Configuring incomplete, errors occurred!

2.4 升级cmake

先卸载掉之前的cmake

sudo apt-get remove cmake

然后 直接下载二进制包

Download CMake

然后

chmod 777 cmake-3.30.2-linux-aarch64.sh
./cmake-3.30.2-linux-aarch64.sh  --prefix=/usr/local
vim ~/.bashrc
export PATH=/usr/local/cmake-3.30.2-linux-aarch64/bin:$PATH
source  ~/.bashrc

2.5 再次build

ci/build.sh release  -DBUILD_TESTS=1 -DPYTHON_VERSIONS=3.8 -DPUBLIC_API_COMPILERS=gcc-11

2.5.1 报错 /usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’:

/usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’:435 |         function(_Functor&& __f)|                                                                                                                                                 ^ 
/usr/include/c++/11/bits/std_function.h:435:145: note:         ‘_ArgTypes’
/usr/include/c++/11/bits/std_function.h:530:146: error: parameter packs not expanded with ‘...’:530 |         operator=(_Functor&& __f)|                                                                                                                                                  ^ 
/usr/include/c++/11/bits/std_function.h:530:146: note:         ‘_ArgTypes’

解决方法在

Fails on Cuda 11.6 and PyTorch 1.12 (/usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’:) · Issue #1491 · NVIDIA/apex · GitHub

具体就是

vim /usr/include/c++/11/bits/std_function.h 

然后把436这里的和后面531行这里的注释掉。

433       template<typename _Functor,
434                typename _Constraints = _Requires<_Callable<_Functor>>>
435         function(_Functor&& __f)
436         //noexcept(_Handler<_Functor>::template _S_nothrow_init<_Functor>())
437         : _Function_base()
438         {
439           static_assert(is_copy_constructible<__decay_t<_Functor>>::value,
440               "std::function target must be copy-constructible");
441           static_assert(is_constructible<__decay_t<_Functor>, _Functor>::value,
442               "std::function target must be constructible from the "
443               "constructor argument");
444 
445           using _My_handler = _Handler<_Functor>;
446 
447           if (_My_handler::_M_not_empty_function(__f))
448             {
449               _My_handler::_M_init_functor(_M_functor,
450                                            std::forward<_Functor>(__f));
451               _M_invoker = &_My_handler::_M_invoke;
452               _M_manager = &_My_handler::_M_manager;
453             }
454         }
528       template<typename _Functor>
529         _Requires<_Callable<_Functor>, function&>
530         operator=(_Functor&& __f)
531         //noexcept(_Handler<_Functor>::template _S_nothrow_init<_Functor>())
532         {
533           function(std::forward<_Functor>(__f)).swap(*this);
534           return *this;
535         }

然后编译就不报错了,但是编译过程中我发现,这太慢了

[167/377 4 1968.540s] Building CUDA object src/cvcuda/priv/legacy/CMakeFiles/cvcuda_legacy.dir/composite.cu.o

我直接放弃源码编译的方法,直接下载安装包试试,

3 直接使用安装包

Releases · CVCUDA/CV-CUDA · GitHub

去这里下载

然后直接

sudo apt install -y ./cvcuda-lib-0.10.1_beta-cuda11-aarch64-linux.deb ./cvcuda-dev-0.10.1_beta-cuda11-aarch64-linux.deb
sudo apt install -y ./cvcuda-python3.8-0.10.1_beta-cuda11-aarch64-linux.deb

参考文献:

ubuntu安装cmake-CSDN博客

这篇关于NVIDIA Jetson AGX Orin源码编译安装CV-CUDA的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109618

相关文章

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

如何在pycharm安装torch包

《如何在pycharm安装torch包》:本文主要介绍如何在pycharm安装torch包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录在pycharm安装torch包适http://www.chinasem.cn配于我电脑的指令为适用的torch包为总结在p

在PyCharm中安装PyTorch、torchvision和OpenCV详解

《在PyCharm中安装PyTorch、torchvision和OpenCV详解》:本文主要介绍在PyCharm中安装PyTorch、torchvision和OpenCV方式,具有很好的参考价值,... 目录PyCharm安装PyTorch、torchvision和OpenCV安装python安装PyTor

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++