乐于分享
好东西不私藏

【Ardupilot二次开发】固件源码编译报错总结

【Ardupilot二次开发】固件源码编译报错总结

问题一

pip3 install --user -U pip packaging setuptools wheelERROR: Can not perform a '--user' install. User site-packages are not visible in this virtualenv.

通过如下指令可得知现在的 python3/pip3 默认指向 ESP-IDF 的 python_env(虚拟环境)

lafia@lafia-virtual-machine:~/ardupilot$ which -a python3which -a pip3python3 -c "import sys; print('executable:',sys.executable); print('prefix:',sys.prefix); print('base_prefix:',getattr(sys,'base_prefix',None))"pip3 -V/home/lafia/.espressif/python_env/idf5.2_py3.10_env/bin/python3/usr/bin/python3/bin/python3/home/lafia/.espressif/python_env/idf5.2_py3.10_env/bin/pip3/home/lafia/.local/bin/pip3/usr/local/bin/pip3/usr/bin/pip3/bin/pip3executable: /home/lafia/.espressif/python_env/idf5.2_py3.10_env/bin/python3prefix: /home/lafia/.espressif/python_env/idf5.2_py3.10_envbase_prefix: /usrpip 25.3 from /home/lafia/.espressif/python_env/idf5.2_py3.10_env/lib/python3.10/site-packages/pip (python 3.10)

解决方法

cd /home/lafia/ardupilotPATH="/usr/bin:/bin" PIP_USER_ARGUMENT="" bash Tools/environment_install/install-prereqs-ubuntu.sh -y

问题2

ChibiOS build requires g++ version 10.2.1 or later, found 9.3.1(complete log in /home/lafia/ardupilot/build/config.log)

解决方法

更新g++

sudo apt-get install g++-10

打开~/.bashrc,在文件最下方添加路径,防止使用默认ccache路径下的g++

# ardupilot changeexport PATH=/usr/bin:$PATH

生效新更改的bashrc

source ~/.bashrc

查看ccache路径是否为/usr/bin/ccache

which ccache

再次确认g++路径和版本是否符合大于10.2.1版本且路径和输出内容里的路径一致

which g++g++ --version

输出内容:

/usr/bin/g++g++ (Ubuntu 10.5.0-1ubuntu1~22.04.2) 10.5.0Copyright (C) 2020 Free Software Foundation, Inc.This is free software; see the source for copying conditions.  There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

清除构建

./waf distclean

确保在 waf 配置期间使用的是正确的 g++-10 版本,且通过 which g++ 和 g++ --version 确认它指向 /usr/bin/g++-10

这一步很重要!不然通过如上做法仍然会导致报错无法解决

export CC=/usr/bin/gcc-10export CXX=/usr/bin/g++-10

最终编译通过最后一行显示:’configure’ finished successfully (0.967s)则说明编译成功

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 【Ardupilot二次开发】固件源码编译报错总结

评论 抢沙发

7 + 6 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮