硬件准备:NVIDIA Jetson nano B01 ,Livox Mid-360
软件准备:Ubuntu18.04 ;ROS Melodic;
参照的帖子地址如下MID360+fastlio功能笔记-优快云博客
编译几个小时结果老是报错的你需要我这个帖子,接下来是过程中遇到的问题:
一、下载安装官方的Livox-SDK2
git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd ./Livox-SDK2/
mkdir build
cd build
cmake .. && make -j
sudo make install
在这个编译的过程中,由于nano板子算力不够,所以cmake .. && make -j这条指令行不通,需要将指令分开,分开为cmake ..回车键之后再运行下一条指令make -jN 这里的N可以是2,也可以是1,如果是2会快一点,板子也不会爆,1就慢一点。
二、安装livox_ros_driver2
mkdir -p catkin_livox_ros_driver2/src
git clone https://github.com/Livox-SDK/livox_ros_driver2.git
cd livox_ros_driver2
source /opt/ros/melodic/setup.sh #换成你自己的ros版本
./build.sh ROS1
但是依旧编译不过,运行 ./build.sh ROS1板子又行不通,所以通过./build.sh ROS1 -j1实现利用有限的资源来编译,不至于板子炸了
编译还会遇到
c++: internal compiler error: 已杀死 (program cc1plus)
这个问题,归根到底还是板子内存不够,所以需要建立临时分区,添加自己的交换空间
# 1. 创建分区
sudo dd if=/dev/zero of=/swapfile bs=64M count=32
#count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=2048MB
sudo mkswap /swapfile
#把刚才空间格式化成swap格式
chmod 0600 /swapfile
sudo swapon /swapfile
#使用刚才创建的swap空间#2. 关闭分区
sudo swapoff /swapfile
sudo rm /swapfile
nano的板子创建两个G的分区即可以编译成功 记得成功后一定要关闭交换的分区