Jetson nano 安装 PCL 指南

本指南帮助 ARM64 架构的 Jetson Nano 安装 PCL(点云库)。

安装步骤

第一步:安装依赖

在终端中运行以下命令,安装 PCL 所需的依赖:

复制代码
sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libpcap-dev
sudo apt-get install libflann1.9 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install vtk6 libvtk6.3 libvtk6-dev libvtk6.3-qt libvtk6-qt-dev
sudo apt-get install libqhull-dev libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install libopenni-dev libopenni2-dev
sudo apt install build-essential libssl-dev

第二步:安装Eigen库

先卸载Eigen库

复制代码
sudo updatedb
locate eigen3
sudo rm -rf /usr/include/eigen3 /usr/lib/cmake/eigen3 /usr/share/doc/libeigen3- dev /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums

安装:

复制代码
wget https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz
sudo tar -xvf eigen-3.3.7.tar.gz
cd eigen-3.3.7
mkdir build && cd build
sudo cmake ..
sudo make install
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include

第三步:下载 PCL 源码

在终端中运行以下命令,下载 PCL 源码:

复制代码
git clone https://github.com/PointCloudLibrary/pcl.git

第四步:编译 PCL 源码

进入 PCL 源码目录,先切换到1.9.1版本:

复制代码
cd pcl
git checkout pcl-1.9.1

创建build文件夹:

复制代码
mkdir build && cd build

开始编译:

复制代码
cmake -DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_GPU=ON \
-DBUILD_CUDA=ON \
-DBUILD_apps=ON \
-DBUILD_examples=ON ..
复制代码
make

编译过程可能需要较长时间,请耐心等待。

Jetson Nano 编译 PCL 真的很慢。
过程中可能遇到一些错误,解决方法见报错解决

第五步:安装 PCL

复制代码
sudo make install

第六步:测试 PCL 安装是否成功

在终端中运行以下命令,测试 PCL 是否安装成功:

复制代码
cd ../test
./all_tests

如果所有测试都通过,说明 PCL 安装成功。

报错解决

internal compiler error: Segmentation fault (program cc1plus)

此错误是 stack size 太小导致的。

使用ulimit -a查看系统的限制参数。

解决方法:增加 stack size 的大小即可。

复制代码
ulimit -s 102400

namespace "thrust" has no member "device_malloc"

完蛋,报错图片没保存 :( 大家自行脑补。

此错误是point_cloud.h文件缺少头文件导致的。

解决方法:找到namespace "thrust" has no member "device_malloc"这句话前面的文件,使用vivim打开编辑,在顶部添加一句#include <thrust/device_malloc.h>即可。

Pax assembly aborted due to errors

此错误是由于PTX ISA版本6.4不支持sm_70及更高版本的目标。需要将CUDA_ARCH_BIN cmake变量限制为低于7.0的架构。

复制代码
vim ../CMakeList.txt

添加上set(CUDA_ARCH_BIN "6.1")即可。

相关推荐
TM1Club7 小时前
AI驱动的预测:新的竞争优势
大数据·人工智能·经验分享·金融·数据分析·自动化
zhang133830890757 小时前
CG-09H 超声波风速风向传感器 加热型 ABS材质 重量轻 没有机械部件
大数据·运维·网络·人工智能·自动化
电商API_180079052478 小时前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫
龙山云仓9 小时前
No140:AI世间故事-对话康德——先验哲学与AI理性:范畴、道德律与自主性
大数据·人工智能·深度学习·机器学习·全文检索·lucene
躺柒10 小时前
读数字时代的网络风险管理:策略、计划与执行04风险指引体系
大数据·网络·信息安全·数字化·网络管理·网络风险管理
独自归家的兔11 小时前
从 “局部凑活“ 到 “全局最优“:AI 规划能力的技术突破与产业落地实践
大数据·人工智能
海域云-罗鹏11 小时前
国内公司与英国总部数据中心/ERP系统互连,SD-WAN专线实操指南
大数据·数据库·人工智能
策知道12 小时前
依托政府工作报告准备省考【经验贴】
大数据·数据库·人工智能·搜索引擎·政务
Henry-SAP13 小时前
SAP(ERP) 组织结构业务视角解析
大数据·人工智能·sap·erp·sap pp
TracyCoder12314 小时前
ElasticSearch内存管理与操作系统(一):内存分配底层原理
大数据·elasticsearch·搜索引擎