Skip to content

Latest commit

 

History

History
760 lines (683 loc) · 20 KB

File metadata and controls

760 lines (683 loc) · 20 KB

Update your system

sudo apt-get update
sudo apt-get upgrade
# (Raspberry pi)
sudo rasp-config

Install prerequisites

sudo apt-get -y install build-essential cmake cmake-curses-gui git uuid-dev ncurses-dev libcurl4 curl libssl-dev libuvc-dev libusb-1.0-0-dev

(Optional) Video stream in/out functions

sudo apt-get -y install libunwind-dev gstreamer1.0-0 gstreamer1.0-plugins-base libgstreamer1.0-0 libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-gl libv4l-dev v4l-utils libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libxvidcore-dev x264

(Optional) Desktop renderings

sudo apt-get -y install libgtk-3-dev gstreamer1.0-x gstreamer1.0-gtk3
sudo apt-get -y install libglu1-mesa-dev libglu1-mesa libgl1-mesa-dev libglfw3 libglfw3-dev libglew-dev mesa-common-dev freeglut3-dev xorg-dev libxt-dev libxi-dev libx11-dev

(Optional) Jpeg exif editing

sudo apt-get -y install libimage-exiftool-perl

(Optional) CUDA

sudo apt install nvidia-cuda-toolkit

(Optional) Select CUDA compatible GCC

sudo apt-get -y install g++-12 gcc-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12 --slave /usr/bin/g++ g++ /usr/bin/g++-12
sudo update-alternatives --config gcc

# Update the video driver first with Software and Update
wget https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda_12.3.2_545.23.08_linux.run
sudo chmod a+x cuda_12.3.2_545.23.08_linux.run
sudo sh cuda_12.3.2_545.23.08_linux.run
sudo echo -e "export PATH=/usr/local/cuda-12.3/bin:\$PATH\nexport LD_LIBRARY_PATH=/usr/local/cuda-12.3/lib64:\$LD_LIBRARY_PATH\nexport LC_ALL=en_US.UTF-8" >> ~/.bashrc

CMake

Install from apt-get

sudo apt-get install cmake

(Optional) Build from source for the latest

wget https://github.com/Kitware/CMake/releases/download/v3.31.9/cmake-3.31.9.tar.gz
tar xvf cmake-3.31.9.tar.gz
cd cmake-3.31.9

./bootstrap
make -j$(nproc)
sudo make install
bash

(Optionally) If using the latest version

wget https://github.com/Kitware/CMake/releases/download/v4.1.2/cmake-4.1.2.tar.gz
tar xvf cmake-4.1.2.tar.gz
cd cmake-4.1.2

Eigen

wget https://gitlab.com/libeigen/eigen/-/archive/3.4.1/eigen-3.4.1.tar.gz
tar xvf eigen-3.4.1.tar.gz
cd eigen-3.4.1

mkdir build && cd build
cmake ../
sudo make install

(Optionally) If using the latest version

wget https://gitlab.com/libeigen/eigen/-/archive/5.0.0/eigen-5.0.0.tar.gz
tar xvf eigen-5.0.0.tar.gz
cd eigen-5.0.0

(Optional) RealSense

sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev

git clone --depth 1 https://github.com/IntelRealSense/librealsense.git
# git clone --depth 1 --branch v2.53.1 https://github.com/IntelRealSense/librealsense.git # for T265, L535
cd librealsense
sudo ./scripts/setup_udev_rules.sh
mkdir build
cd build

# for Raspberry pi
cmake -DFORCE_LIBUVC=true -DFORCE_RSUSB_BACKEND=ON -DBUILD_WITH_TM2=true -DBUILD_WITH_CUDA=OFF -DCMAKE_BUILD_TYPE=Release
-DIMPORT_DEPTH_CAM_FW=ON ../

# for Jetson
cmake -DFORCE_LIBUVC=true -DFORCE_RSUSB_BACKEND=ON -DBUILD_WITH_TM2=true -DBUILD_WITH_CUDA=ON -DCMAKE_BUILD_TYPE=Release -DIMPORT_DEPTH_CAM_FW=ON ../

make -j$(nproc)
sudo make install

(Optional) gphoto2

sudo apt-get install -y build-essential libltdl-dev libusb-1.0-0-dev libexif-dev udev libpopt-dev libudev-dev pkg-config git automake autoconf autopoint gettext libtool wget

git clone --branch libgphoto2-2_5_31-release --depth 1 https://github.com/gphoto/libgphoto2.git
cd libgphoto2
autoreconf --install --symlink
./configure
make -j$(nproc)
sudo make install

git clone --branch gphoto2-2_5_28-release --depth 1 https://github.com/gphoto/gphoto2.git
cd gphoto2
autoreconf --install --symlink
./configure
make -j$(nproc)
sudo make install

sudo ldconfig

udev_version=$(udevadm --version)
if   [ "$udev_version" -ge "201" ]
then
  udev_rules=201
elif [ "$udev_version" -ge "175" ]
then
  udev_rules=175
elif [ "$udev_version" -ge "136" ]
then
  udev_rules=136
else
  udev_rules=0.98
fi
set +H
sudo sh -c "/usr/local/lib/libgphoto2/print-camera-list udev-rules version $udev_rules group plugdev mode 0660 > /etc/udev/rules.d/90-libgphoto2.rules"
set -H
if   [ "$udev_rules" = "201" ]
then
set +H
sudo sh -c "/usr/local/lib/libgphoto2/print-camera-list hwdb > /etc/udev/hwdb.d/20-gphoto.hwdb"
set -H
fi

gphoto2 --version
gphoto2 --abilities
# gphoto2 --capture-image-and-download --filename /tmp/hoge.jpg

(Optional) TensorFlow Lite

sudo apt-get install cmake curl
git clone --branch v2.6.0 --depth 1 https://github.com/tensorflow/tensorflow.git
cd tensorflow
./tensorflow/lite/tools/make/download_dependencies.sh
# Raspberry pi Bullseye 64bit
#./tensorflow/lite/tools/make/build_aarch64_lib.sh
./tensorflow/lite/tools/make/build_lib.sh
# update flatbuffers
cd tensorflow/lite/tools/make/downloads
rm -rf flatbuffers
git clone -b v2.0.0 --depth=1 --recursive https://github.com/google/flatbuffers.git
cd flatbuffers
mkdir build
cd build
cmake ..
make -j4
sudo make install
sudo ldconfig

(Optional) OpenCV

General CMake configs for x86-64 machines

sudo apt-get -y install libprotobuf-dev protobuf-compiler
git clone --branch 4.13.0 --depth 1 https://github.com/opencv/opencv.git
git clone --branch 4.13.0 --depth 1 https://github.com/opencv/opencv_contrib.git
cd opencv
mkdir build && cd build
cmake -DBUILD_CUDA_STUBS=OFF \
      -DBUILD_DOCS=OFF \
      -DBUILD_EXAMPLES=OFF \
      -DBUILD_IPP_IW=OFF \
      -DBUILD_ITT=OFF \
      -DBUILD_JASPER=OFF \
      -DBUILD_JAVA=OFF \
      -DBUILD_JPEG=OFF \
      -DBUILD_OPENEXR=OFF \
      -DBUILD_PACKAGE=ON \
      -DBUILD_PERF_TESTS=OFF \
      -DBUILD_PNG=OFF \
      -DBUILD_PROTOBUF=OFF \
      -DBUILD_SHARED_LIBS=ON \
      -DBUILD_TBB=OFF \
      -DBUILD_TESTS=OFF \
      -DBUILD_TIFF=OFF \
      -DBUILD_WEBP=OFF \
      -DBUILD_WITH_DEBUG_INFO=OFF \
      -DBUILD_WITH_DYNAMIC_IPP=OFF \
      -DBUILD_ZLIB=OFF \
      -DBUILD_opencv_alphamat=ON \
      -DBUILD_opencv_apps=ON \
      -DBUILD_opencv_aruco=ON \
      -DBUILD_opencv_barcode=ON \
      -DBUILD_opencv_bgsegm=ON \
      -DBUILD_opencv_bioinspired=ON \
      -DBUILD_opencv_calib3d=ON \
      -DBUILD_opencv_ccalib=ON \
      -DBUILD_opencv_core=ON \
      -DBUILD_opencv_datasets=ON \
      -DBUILD_opencv_dnn=ON \
      -DBUILD_opencv_dnn_objdetect=ON \
      -DBUILD_opencv_dnn_superres=ON \
      -DBUILD_opencv_dpm=ON \
      -DBUILD_opencv_face=ON \
      -DBUILD_opencv_features2d=ON \
      -DBUILD_opencv_flann=ON \
      -DBUILD_opencv_fuzzy=ON \
      -DBUILD_opencv_gapi=ON \
      -DBUILD_opencv_hdf=OFF \
      -DBUILD_opencv_hfs=ON \
      -DBUILD_opencv_highgui=ON \
      -DBUILD_opencv_img_hash=ON \
      -DBUILD_opencv_imgcodecs=ON \
      -DBUILD_opencv_imgproc=ON \
      -DBUILD_opencv_java_bindings_generator=OFF \
      -DBUILD_opencv_js=OFF \
      -DBUILD_opencv_js_bindings_generator=OFF \
      -DBUILD_opencv_line_descriptor=ON \
      -DBUILD_opencv_ml=ON \
      -DBUILD_opencv_objc_bindings_generator=OFF \
      -DBUILD_opencv_objdetect=ON \
      -DBUILD_opencv_optflow=ON \
      -DBUILD_opencv_phase_unwrapping=ON \
      -DBUILD_opencv_photo=ON \
      -DBUILD_opencv_plot=ON \
      -DBUILD_opencv_python3=OFF \
      -DBUILD_opencv_python_bindings_generator=OFF \
      -DBUILD_opencv_python_tests=OFF \
      -DBUILD_opencv_reg=ON \
      -DBUILD_opencv_rgbd=ON \
      -DBUILD_opencv_saliency=ON \
      -DBUILD_opencv_sfm=ON \
      -DBUILD_opencv_shape=ON \
      -DBUILD_opencv_stereo=ON \
      -DBUILD_opencv_stitching=ON \
      -DBUILD_opencv_structured_light=ON \
      -DBUILD_opencv_superres=ON \
      -DBUILD_opencv_surface_matching=ON \
      -DBUILD_opencv_text=ON \
      -DBUILD_opencv_tracking=ON \
      -DBUILD_opencv_ts=ON \
      -DBUILD_opencv_video=ON \
      -DBUILD_opencv_videoio=ON \
      -DBUILD_opencv_videostab=ON \
      -DBUILD_opencv_world=OFF \
      -DBUILD_opencv_wechat_qrcode=OFF \
      -DBUILD_opencv_xfeatures2d=ON \
      -DBUILD_opencv_ximgproc=ON \
      -DBUILD_opencv_xobjdetect=ON \
      -DBUILD_opencv_xphoto=ON \
      -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_CONFIGURATION_TYPES=Release \
      -DCMAKE_INSTALL_PREFIX=/usr/local \
      -DENABLE_BUILD_HARDENING=OFF \
      -DENABLE_FAST_MATH=ON \
      -DENABLE_PRECOMPILED_HEADERS=OFF \
      -DOPENCV_ENABLE_NONFREE=OFF \
      -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
      -DOPENCV_DNN_OPENVINO=OFF \
      -DOPENCV_DNN_TFLITE=ON \
      -DOPENCV_GAPI_GSTREAMER=ON \
      -DOPJ_USE_THREAD=ON \
      -DPROTOBUF_UPDATE_FILES=ON \
      -DWITH_1394=OFF \
      -DWITH_ARAVIS=OFF \
      -DWITH_CLP=OFF \
      -DWITH_EIGEN=ON \
      -DWITH_FFMPEG=ON \
      -DWITH_FREETYPE=OFF \
      -DWITH_GDAL=OFF \
      -DWITH_GDCM=OFF \
      -DWITH_GPHOTO2=ON \
      -DWITH_GSTREAMER=ON \
      -DWITH_GTK=ON \
      -DWITH_GTK_2_X=OFF \
      -DWITH_HALIDE=OFF \
      -DWITH_HPX=OFF \
      -DWITH_INF_ENGINE=ON \
      -DWITH_IPP=ON \
      -DWITH_ITT=ON \
      -DWITH_JASPER=ON \
      -DWITH_JPEG=ON \
      -DWITH_LAPACK=ON \
      -DWITH_LIBREALSENSE=OFF \
      -DWITH_MATLAB=OFF \
      -DWITH_MFX=OFF \
      -DWITH_OPENCL=ON \
      -DWITH_OPENCLAMDBLAS=ON \
      -DWITH_OPENCLAMDFFT=ON \
      -DWITH_OPENCL_SVM=OFF \
      -DWITH_OPENEXR=ON \
      -DWITH_OPENGL=ON \
      -DWITH_OPENMP=OFF \
      -DWITH_OPENNI=OFF \
      -DWITH_OPENNI2=OFF \
      -DWITH_OPENVINO=OFF \
      -DWITH_OPENVX=OFF \
      -DWITH_PNG=ON \
      -DWITH_PROTOBUF=ON \
      -DWITH_PTHREADS_PF=ON \
      -DWITH_PVAPI=OFF \
      -DWITH_QT=OFF \
      -DWITH_TBB=ON \
      -DWITH_TIFF=ON \
      -DWITH_V4L=ON \
      -DWITH_VA=OFF \
      -DWITH_VA_INTEL=OFF \
      -DWITH_VTK=ON \
      -DWITH_WEBP=ON \
      -DWITH_XIMEA=OFF \
      -DWITH_XINE=OFF \
      ../

# (Optional) with CUDA
-DWITH_CUDA=ON \
-DCUDA_ARCH_BIN=8.6 \
-DCUDA_ARCH_PTX=8.6 \
-DCUDA_FAST_MATH=ON \

make all -j$(nproc)
sudo make install
sudo ldconfig

For Jetson and Raspberry pi

sudo apt-get -y install libprotobuf-dev protobuf-compiler
git clone --branch 4.13.0 --depth 1 https://github.com/opencv/opencv.git
git clone --branch 4.13.0 --depth 1 https://github.com/opencv/opencv_contrib.git
cd opencv
mkdir build && cd build
cmake \
      -DBUILD_CUDA_STUBS=OFF \
      -DBUILD_DOCS=OFF \
      -DBUILD_EXAMPLES=OFF \
      -DBUILD_IPP_IW=OFF \
      -DBUILD_ITT=OFF \
      -DBUILD_JASPER=OFF \
      -DBUILD_JAVA=OFF \
      -DBUILD_JPEG=OFF \
      -DBUILD_OPENEXR=OFF \
      -DBUILD_PACKAGE=ON \
      -DBUILD_PERF_TESTS=OFF \
      -DBUILD_PNG=OFF \
      -DBUILD_PROTOBUF=ON \
      -DBUILD_SHARED_LIBS=ON \
      -DBUILD_TBB=OFF \
      -DBUILD_TESTS=OFF \
      -DBUILD_TIFF=OFF \
      -DBUILD_WEBP=OFF \
      -DBUILD_WITH_DEBUG_INFO=OFF \
      -DBUILD_WITH_DYNAMIC_IPP=OFF \
      -DBUILD_ZLIB=OFF \
      -DBUILD_opencv_alphamat=ON \
      -DBUILD_opencv_apps=ON \
      -DBUILD_opencv_aruco=ON \
      -DBUILD_opencv_barcode=ON \
      -DBUILD_opencv_bgsegm=ON \
      -DBUILD_opencv_bioinspired=ON \
      -DBUILD_opencv_calib3d=ON \
      -DBUILD_opencv_ccalib=ON \
      -DBUILD_opencv_core=ON \
      -DBUILD_opencv_datasets=ON \
      -DBUILD_opencv_dnn=ON \
      -DBUILD_opencv_dnn_objdetect=ON \
      -DBUILD_opencv_dnn_superres=ON \
      -DBUILD_opencv_dpm=ON \
      -DBUILD_opencv_face=ON \
      -DBUILD_opencv_features2d=ON \
      -DBUILD_opencv_flann=ON \
      -DBUILD_opencv_fuzzy=ON \
      -DBUILD_opencv_gapi=ON \
      -DBUILD_opencv_hdf=OFF \
      -DBUILD_opencv_hfs=ON \
      -DBUILD_opencv_highgui=ON \
      -DBUILD_opencv_img_hash=ON \
      -DBUILD_opencv_imgcodecs=ON \
      -DBUILD_opencv_imgproc=ON \
      -DBUILD_opencv_java_bindings_generator=OFF \
      -DBUILD_opencv_js=OFF \
      -DBUILD_opencv_js_bindings_generator=OFF \
      -DBUILD_opencv_line_descriptor=ON \
      -DBUILD_opencv_ml=ON \
      -DBUILD_opencv_objc_bindings_generator=OFF \
      -DBUILD_opencv_objdetect=ON \
      -DBUILD_opencv_optflow=ON \
      -DBUILD_opencv_phase_unwrapping=ON \
      -DBUILD_opencv_photo=ON \
      -DBUILD_opencv_plot=ON \
      -DBUILD_opencv_python3=OFF \
      -DBUILD_opencv_python_bindings_generator=OFF \
      -DBUILD_opencv_python_tests=OFF \
      -DBUILD_opencv_reg=ON \
      -DBUILD_opencv_rgbd=ON \
      -DBUILD_opencv_saliency=ON \
      -DBUILD_opencv_sfm=ON \
      -DBUILD_opencv_shape=ON \
      -DBUILD_opencv_stereo=ON \
      -DBUILD_opencv_stitching=ON \
      -DBUILD_opencv_structured_light=ON \
      -DBUILD_opencv_superres=ON \
      -DBUILD_opencv_surface_matching=ON \
      -DBUILD_opencv_text=ON \
      -DBUILD_opencv_tracking=ON \
      -DBUILD_opencv_ts=ON \
      -DBUILD_opencv_video=ON \
      -DBUILD_opencv_videoio=ON \
      -DBUILD_opencv_videostab=ON \
      -DBUILD_opencv_world=OFF \
      -DBUILD_opencv_wechat_qrcode=OFF \
      -DBUILD_opencv_xfeatures2d=ON \
      -DBUILD_opencv_ximgproc=ON \
      -DBUILD_opencv_xobjdetect=ON \
      -DBUILD_opencv_xphoto=ON \
      -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_CONFIGURATION_TYPES=Release \
      -DCMAKE_INSTALL_PREFIX=/usr/local \
      -DENABLE_BUILD_HARDENING=OFF \
      -DENABLE_FAST_MATH=ON \
      -DENABLE_PRECOMPILED_HEADERS=OFF \
      -DOPENCV_ENABLE_NONFREE=OFF \
      -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
      -DOPENCV_DNN_OPENVINO=OFF \
      -DOPENCV_DNN_TFLITE=ON \
      -DOPENCV_GAPI_GSTREAMER=ON \
      -DOPJ_USE_THREAD=ON \
      -DPROTOBUF_UPDATE_FILES=OFF \
      -DWITH_1394=OFF \
      -DWITH_ARAVIS=OFF \
      -DWITH_CLP=OFF \
      -DWITH_EIGEN=ON \
      -DWITH_FFMPEG=ON \
      -DWITH_FREETYPE=OFF \
      -DWITH_GDAL=OFF \
      -DWITH_GDCM=OFF \
      -DWITH_GPHOTO2=ON \
      -DWITH_GSTREAMER=ON \
      -DWITH_GTK=OFF \
      -DWITH_GTK_2_X=OFF \
      -DWITH_HALIDE=OFF \
      -DWITH_HPX=OFF \
      -DWITH_INF_ENGINE=ON \
      -DWITH_IPP=OFF \
      -DWITH_ITT=OFF \
      -DWITH_JASPER=ON \
      -DWITH_JPEG=ON \
      -DWITH_LAPACK=ON \
      -DWITH_LIBREALSENSE=OFF \
      -DWITH_MATLAB=OFF \
      -DWITH_MFX=OFF \
      -DWITH_OPENCL=ON \
      -DWITH_OPENCLAMDBLAS=ON \
      -DWITH_OPENCLAMDFFT=ON \
      -DWITH_OPENCL_SVM=OFF \
      -DWITH_OPENEXR=ON \
      -DWITH_OPENGL=ON \
      -DWITH_OPENMP=OFF \
      -DWITH_OPENNI=OFF \
      -DWITH_OPENNI2=OFF \
      -DWITH_OPENVINO=OFF \
      -DWITH_OPENVX=OFF \
      -DWITH_PNG=ON \
      -DWITH_PROTOBUF=ON \
      -DWITH_PTHREADS_PF=ON \
      -DWITH_PVAPI=OFF \
      -DWITH_QT=OFF \
      -DWITH_TBB=OFF \
      -DWITH_TIFF=ON \
      -DWITH_V4L=ON \
      -DWITH_VA=OFF \
      -DWITH_VA_INTEL=OFF \
      -DWITH_VTK=ON \
      -DWITH_WEBP=ON \
      -DWITH_XIMEA=OFF \
      -DWITH_XINE=OFF \
      ../

make all -j$(nproc)
sudo make install
sudo ldconfig

(Optional) Chilitags

git clone --depth 1 https://github.com/chili-epfl/chilitags.git
cd chilitags
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ../
make -j$(nproc)
sudo make install

(Optional) Open3D

Install gcc-11 on Ubuntu 24.04 if met compile error.

sudo apt-get -y install libjsoncpp-dev libc++1 gfortran libfmt-dev
sudo apt-get -y install xorg-dev libxcb-shm0 libglu1-mesa-dev
sudo apt-get -y install python3 python3-pip

git clone --branch v0.19.0 --depth 1 --recursive https://github.com/intel-isl/Open3D
cd Open3D
git submodule update --init --recursive
mkdir build && cd build

(Optional) Build Filament from source

sudo apt-get -y install clang libsdl2-dev libxi-dev
    # ML
    libtbb-dev
    # Headless rendering
    libosmesa6-dev
    # RealSense
    libudev-dev
    autoconf
    libtool
# For ARM64
    gfortran

Build and install

For Desktop

sudo apt-get -y install libc++-dev libc++abi-dev ninja-build
cmake -DCMAKE_BUILD_TYPE=Release \
      -DGLIBCXX_USE_CXX11_ABI=ON \
      -DBUILD_CUDA_MODULE=OFF \
      -DBUILD_EXAMPLES=OFF \
      -DBUILD_FILAMENT_FROM_SOURCE=OFF \
      -DBUILD_GUI=ON \
      -DBUILD_PYTHON_MODULE=OFF \
      -DBUILD_SHARED_LIBS=ON \
      -DBUILD_TENSORFLOW_OPS=OFF \
      -DBUILD_WEBRTC=ON \
      -DBUILD_UNIT_TESTS=OFF \
      -DDEVELOPER_BUILD=OFF \
      -DWITH_SIMD=ON ../

For Raspberry pi headless rendering, Patch this file:

/home/lab/dev/Open3D/3rdparty/glew/src/glew.c

Immediately before:

#include <GL/osmesa.h>

Make that block look like this:

#ifndef GLAPI
#define GLAPI extern
#endif

#ifndef GLAPIENTRY
#define GLAPIENTRY
#endif

#ifndef APIENTRY
#define APIENTRY
#endif

#include <GL/osmesa.h>
sudo apt-get -y install xorg-dev libglu1-mesa-dev libgl1-mesa-dev libglfw3-dev
sudo apt-get -y install libosmesa6-dev
#sudo apt-get -y install libxkbcommon-dev

cmake -DCMAKE_BUILD_TYPE=Release \
      -DGLIBCXX_USE_CXX11_ABI=ON \
      -DBUILD_CUDA_MODULE=OFF \
      -DBUILD_EXAMPLES=OFF \
      -DBUILD_GUI=OFF \
      -DBUILD_PYTHON_MODULE=OFF \
      -DBUILD_SHARED_LIBS=ON \
      -DBUILD_TENSORFLOW_OPS=OFF \
      -DBUILD_WEBRTC=OFF \
      -DBUILD_UNIT_TESTS=OFF \
      -DDEVELOPER_BUILD=OFF \
      -DWITH_SIMD=OFF \
      -DENABLE_HEADLESS_RENDERING=ON \
      -DUSE_SYSTEM_GLEW=OFF \
      -DUSE_SYSTEM_GLFW=OFF \
      -DWITH_IPP=OFF \
      ../

make -j$(nproc)
sudo make install

(Optional) OrbbecSDK_v2

git clone --depth 1 https://github.com/orbbec/OrbbecSDK_v2.git
cd OrbbecSDK_v2
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DOB_BUILD_DOCS=OFF -DOB_BUILD_TOOLS=ON -DOB_INSTALL_EXAMPLES_SOURCE=OFF  ../
make -j$(nproc)
#cmake ..
#cmake --build . --config Release
sudo make install

cd OrbbecSDK_v2/scripts/env_setup
sudo chmod +x ./install_udev_rules.sh
sudo ./install_udev_rules.sh
sudo udevadm control --reload-rules
sudo udevadm trigger

(Optional) FAST_LIVO2

sudo apt-get install ninja-build pkg-config libpcl-dev libboost-thread-dev libyaml-cpp-dev

git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
mkdir build && cd build
cmake ..
# On AArm NEON
# cmake .. -DCMAKE_CXX_FLAGS="-Wno-error=class-memaccess"
make -j$(nproc)
sudo make install

git clone --depth 1 https://github.com/yankailab/FAST-LIVO2.git
cd FAST-LIVO2
rm -rf build-core
cmake -S core -B build-core -G Ninja -DCMAKE_BUILD_TYPE=Release
#cmake -S core -B build-core -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Wno-error=class-memaccess"
cmake --build build-core
sudo cmake --install build-core
sudo ldconfig

(Optional) wsServer

git clone https://github.com/Theldus/wsServer
cd wsServer/
make
sudo make install

(Optional) Livox

In direct connection mode configure the host ip IP: 192.168.1.50 Netmask: 255.255.255.0 Gateway: 192.168.1.1

(Optional) ScepterSDK

git clone https://github.com/ScepterSW/ScepterSDK.git
set +H
sudo sh -c "echo '[Path]/ScepterSDK/BaseSDK/Ubuntu/Lib' >> /etc/ld.so.conf"
set -H
sudo ldconfig

In direct connection mode configure the host ip IP: 192.168.1.100 Netmask: 255.255.255.0 Gateway: 192.168.100.1

(Optional) Qiskit

https://quantum.cloud.ibm.com/docs/en/guides/install-qiskit-source

Install Rust compiler

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Prerequisites

sudo apt-get install python3-dev
cargo install --force cbindgen
git clone https://github.com/Qiskit/qiskit.git
cd qiskit

# if you need python
# python3 -m venv .venv
# source .venv/bin/activate
# pip install .

make c

Install Qiskit Runtime

git clone https://github.com/Qiskit/qiskit-ibm-runtime.git
cd qiskit-ibm-runtime
pip install .

(Optional) M4RI

sudo apt-get install autoconf automake libtool
git clone https://github.com/malb/m4ri.git
cd m4ri/
autoreconf --install
./configure
make
make check
sudo make install

(Optional) OpenKAI extra modules

git clone --depth 1 https://github.com/yankailab/OpenKAI_exm.git

OpenKAI

sudo apt-get -y install libunwind-dev libgoogle-glog-dev libevent-dev gsl-bin libgsl0-dev
git clone --depth 1 https://github.com/yankailab/OpenKAI.git
cd OpenKAI
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_AS_LIB=ON -DWITH_DEFAULT_MODULES=ON ../
make all -j$(nproc)
sudo make install