基本环境
- jetson orin nano 8G
- jetpak 6.0dp
- miniconda3 python 3.8
- cmake 3.22
- ninja 10.1
- cuda 12.2
以下操作均在conda环境中操作
以下操作均在conda环境中操作
以下操作均在conda环境中操作
操作
克隆代码
git clone https://github.com/PaddlePaddle/Paddle.git
安装依赖
pip install numpy protobuf patchelf
进行编译
cd Paddle && makdir build && cd build
cmake .. -GNinja -DWITH_TENSORRT=ON -DCINN_WITH_CUDNN=ON -DWITH_PIP_CUDA_LIBRARIES=ON -DWITH_NV_JETSON=ON -DWITH_ARM=ON -DWITH_CUDNN_FRONTEND=ON -DWITH_NCCL=OFF -DWITH_RCCL=OFF -DCMAKE_CXX_FLAGS="-Wno-error=class-memaccess"
最后cxx的旗标一定要加,不然会报错
ninja
可能出现的错误
FAILED: …/paddle/fluid/pybind/eager_legacy_op_function.cc /home/lhou/project/fastdeploy/Paddle/paddle/fluid/pybind/eager_legacy_op_function.cc
cd /home/lhou/project/fastdeploy/Paddle/build/paddle/fluid/pybind && /usr/bin/cmake -E env LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64::. /home/lhou/project/fastdeploy/Paddle/build/paddle/fluid/pybind/eager_legacy_op_function_generator /home/lhou/project/fastdeploy/Paddle/paddle/fluid/pybind/eager_legacy_op_function.cc.tmp && /usr/bin/cmake -E copy_if_different /home/lhou/project/fastdeploy/Paddle/paddle/fluid/pybind/eager_legacy_op_function.cc.tmp /home/lhou/project/fastdeploy/Paddle/paddle/fluid/pybind/eager_legacy_op_function.cc
/home/lhou/project/fastdeploy/Paddle/build/paddle/fluid/pybind/eager_legacy_op_function_generator: /home/lhou/miniconda3/envs/fastdeploy/lib/libstdc++.so.6: version GLIBCXX_3.4.30' not found (required by /home/lhou/project/fastdeploy/Paddle/build/paddle/fluid/pybind/eager_legacy_op_function_generator) /home/lhou/project/fastdeploy/Paddle/build/paddle/fluid/pybind/eager_legacy_op_function_generator: /home/lhou/miniconda3/envs/fastdeploy/lib/libstdc++.so.6: version
GLIBCXX_3.4.30’ not found (required by /home/lhou/project/fastdeploy/Paddle/build/paddle/phi/libphi.so)
这个错误的原因是因为conda环境中的libstdc++的版本太低了,解决方法是删除conda中的libstdc++.so.6
文件,将系统库中libstdc++.so.6
软连接过来
rm /home/lhou/miniconda3/envs/fastdeploy/lib/libstdc++.so.6
ln -s /lib/aarch64-linux-gnu/libstdc++.so.6 /home/lhou/miniconda3/envs/fastdeploy/lib/libstdc++.so.6