PX4-Autopilot编译环境配置

最新ubuntu22.04 下列软件包有未满足的依赖关系 解决方案 出现这个错误的原因:多半是镜像源跟你的ubuntu系统版本不匹配导致的。即Codename为jammy。 阅读详情

PX4版本号:1.16

Ubuntu :Jammy Desktop

【问题】

在参考官方文档配置PX4的环境时,运行以下脚本报错

sh Tools/setup/ubuntu.sh 
下列软件包有未满足的依赖关系:
 python3-dev : 依赖: python3 (= 3.10.6-1~22.04) 但是 3.10.6-1~22.04.1 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

根据提示,Jammy安装时python版本是3.10.6-1~22.04.1,而python3-dev依赖的版本是3.10.6-1~22.04,导致无法配置环境。

参考通义给出的方案一一进行了验证:

✅ 已验证的成功解决方案(来自 Ubuntu + PX4 社区)

🔧 步骤 1:强制刷新软件源(关键!)

有时 apt update 并未真正拉取到最新元数据,尤其是当系统长时间未更新时。

sudo apt clean
sudo apt update --fix-missing

💡 --fix-missing 会强制重新下载索引,解决“版本不同步”问题。


🔧 步骤 2:检查当前可用的 python3 和 python3-dev 版本

apt policy python3 python3-dev

理想输出应类似:

python3:
  Installed: 3.10.6-1~22.04.1
  Candidate: 3.10.6-1~22.04.1
  Version table:
 *** 3.10.6-1~22.04.1 500
        500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
        100 /var/lib/dpkg/status

python3-dev:
  Installed: (none)
  Candidate: 3.10.6-1~22.04.1   ← 必须和上面一致!
  Version table:
     3.10.6-1~22.04.1 500
        500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages

✅ 如果 python3-dev 的 Candidate 版本也是 3.10.6-1~22.04.1,说明源已同步,直接安装:

sudo apt install python3-dev=3.10.6-1~22.04.1

🔧 步骤 3:如果 python3-dev Candidate 仍是 3.10.6-1~22.04(无 .1)

说明你的软件源尚未包含带 .1 的 python3-dev。此时有两种选择:


✅ 方案 A:降级 python3 到 3.10.6-1~22.04(安全!)

这是 最稳妥且被广泛采用的方法,因为 3.10.6-1~22.04 是 Ubuntu 22.04 初始发布版本,完全兼容。

# 1. 安装指定旧版本 python3
sudo apt install python3=3.10.6-1~22.04

# 2. 锁定版本防止自动升级(可选但推荐)
sudo apt-mark hold python3

# 3. 安装匹配的 python3-dev
sudo apt install python3-dev

✅ 验证:

python3 --version  # 应为 Python 3.10.6
dpkg -l | grep python3-dev  # 应显示 3.10.6-1~22.04

📌 为什么安全?
3.10.6-1~22.04 是官方标准版本,无安全风险。PX4、ROS2 等均在此版本测试通过。


✅ 方案 B:手动下载并安装带 .1 的 python3-dev(高级)

从 Ubuntu 官方仓库手动下载 .deb 包:

# 1. 访问 Ubuntu 包网站
# https://packages.ubuntu.com/jammy-updates/python3-dev

# 2. 下载对应架构的 .deb(以 amd64 为例)
wget http://archive.ubuntu.com/ubuntu/pool/main/p/python3.10/python3-dev_3.10.6-1~22.04.1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/p/python3.10/python3.10-dev_3.10.6-1~22.04.1_amd64.deb

# 3. 安装
sudo dpkg -i python3.10-dev_3.10.6-1~22.04.1_amd64.deb
sudo dpkg -i python3-dev_3.10.6-1~22.04.1_amd64.deb

# 4. 修复依赖
sudo apt --fix-broken install

⚠️ 注意:需同时安装 python3.10-dev,因为 python3-dev 是其依赖包装器。


🚫 绝对不要做的操作

  • ❌ sudo apt remove python3 → 系统崩溃
  • ❌ 手动编译安装 Python 覆盖系统版本 → 破坏包管理

✅ 推荐最终操作(99% 用户适用)

# 1. 降级到标准版本(安全且简单)
sudo apt install python3=3.10.6-1~22.04 python3-minimal=3.10.6-1~22.04

# 2. 安装 dev 包
sudo apt install python3-dev

# 3. (可选)锁定版本
sudo apt-mark hold python3 python3-minimal python3-dev

最终验证,此方法最有效。

Ubuntu python3.10 安装教程,并更新python,pip默认指向为python3.10, pip3(超详细教程) Python3.10版已经出了有一段时间了,但是Ubantu 默认带着的python版本不是最新版,因此折腾的想法自己手动安装Python最新版,并更新python默认指向python3.10。本文参考了 https://blog.csdn.net/u014775723/article/details/85213793?spm=1001.2014.3001.5501 https://blog.csdn.net/yutu75/article/details/119761318 https://blog.csd 阅读详情

相关推荐

保姆级教程:Px4-Autopilot编译环境搭建全流程(含镜像站加速方案)

本文提供了一份详细的Px4-Autopilot编译环境搭建全流程指南。针对国内开发者常见的网络问题,重点介绍了使用镜像站加速源码克隆和依赖下载的实用方案,涵盖从操作系统选择、工具链安装、源码获取到最终编译调试的每一步,旨在帮助无人机开发者和嵌入式工程师高效、稳定地完成环境配置。

weixin_28335283的博客 173

deb包临时修改小版本依赖

背景:在客户内网环境下,拷包比较困难。我们的deb包安装的时候缺依赖,发现这个依赖在本机上是存在的,只不过差了一个小版本,这时候我们就可以通过重新打包的方式,让我们的deb包支持本机的依赖包版本。

qq_54738879的博客 527

保姆级教程:PX4-Autopilot编译环境搭建全流程(含镜像站加速方案)

本文提供了一份详细的PX4-Autopilot编译环境搭建教程,特别针对国内网络环境进行了优化。教程涵盖了从系统准备、软件源配置、源码获取(含镜像站加速方案)、依赖安装到首次编译的全流程,旨在帮助无人机开发者和嵌入式工程师高效、稳定地完成环境配置,避开常见的网络和依赖问题。

ipfs8storage的博客 581

python 3环境搭建补充

环境 : Python 3.6,win 1 安装pip 下载地址:https://pypi.python.org/pypi/pip#downloads  解压,目录下执行: py -3 setup.py install  执行  pip   如果无效,说明没添加环境变量,如果只安装了py3,则添加环境变量:**\Python36\Scripts\; 如果不想添加环

qq_19467725的博客 359

PX4编译环境搭建全攻略:换源、GitHub加速与依赖安装避坑指南

在无人系统开发中,PX4作为开源飞控平台,其编译环境的搭建常受制于依赖链长和网络问题。理解PX4构建系统由工具链、仿真器和大量Git子模块组成,是解决环境问题的关键。通过Ubuntu软件源替换、GitHub镜像加速、Python虚拟环境配置等技术,可显著提升依赖安装效率。这些方法适用于无人机仿真、固件编译及嵌入式开发场景。本文结合实战经验,系统梳理从源码拉取到SITL仿真、飞控固件编译的完整流程,为开发者提供可复制的解决方案,帮助规避常见下载超时与工具链冲突问题。

weixin_29171129的博客 247

Ubuntu20.04或18.04下PX4(pixhawk)源码编译环境配置教程,及构建代码各种错误解决办法

在 Ubuntu Linux 18.04 和 20.04 上设置 PX4 开发环境,可参考此教程 安装工具链: 1.下载 PX4 源代码: Ctrl+Alt+T打开终端输入下面代码

Iamsonice的博客 2万+

PX4-Autopilot下载与编译

PX4-Autopilot下载和编译方法,及常见错误解决。

ScarlettSun的博客 3437

PX4-Autopilot 版本锁定与切换实战指南

本文提供了PX4-Autopilot版本锁定与切换的实战指南。针对无人机开发中硬件兼容性、软件生态依赖和功能稳定性等核心需求,详细讲解了如何获取并锁定特定版本或跟踪稳定分支。文章重点介绍了从克隆、切换、同步子模块到编译验证的完整工作流,并分享了处理常见问题的实用技巧,帮助开发者确保项目稳定性和可复现性。

weixin_29238147的博客 576

Px4-Autopolite编译环境搭建实战:从依赖安装到版本切换

本文详细介绍了Px4-Autopilot编译环境的搭建实战指南。从选择Ubuntu系统、安装基础工具,到解决依赖安装、子模块更新等常见问题,并指导完成首次编译与版本切换。内容涵盖从零开始的完整流程与实用技巧,旨在帮助开发者高效构建稳定的无人机飞控开发环境。

weixin_29210759的博客 578

PX4源码实战:从搭建环境到SITL仿真与自定义机型

开源飞控系统是无人机和机器人领域的重要基础设施,PX4与Pixhawk生态为开发者提供了从底层驱动到上层控制算法的完整软硬件方案。理解其内部的消息传递机制(如uORB)是掌握飞控源码的关键,它让传感器、估计器与控制模块高效解耦协同。在嵌入式开发中,搭建一致的编译环境并利用SITL仿真进行无硬件验证,能大幅降低迭代成本。从多旋翼到自定义机型,SITL配合Gazebo可在虚拟环境中验证机型配置与控制逻辑,再结合QGroundControl和日志工具量化评估每一次改动。本文以PX4源码为主线,系统讲解仓库结构、环

weixin_29194817的博客 233

ARM的CI-700和Arteris的NoC对比

设计理念:CI-700注重于为移动和客户端SoC提供定制化的互连解决方案,而Arteris的NoC更侧重于提供灵活、可配置的网络互连技术,适用于多种应用场景。性能与功耗:CI-700通过系统级缓存和网状拓扑结构优化性能和功耗,而Arteris的NoC通过物理感知和多协议支持来提升性能和降低功耗。功能安全:Arteris的NoC提供了功能安全支持,这对于汽车和工业应用尤为重要,而CI-700虽然也关注安全性,但未明确提及功能安全支持。互操作性。

ygyglg的专栏 2618

PX4编译环境搭建全攻略:从Ubuntu换源到固件编译

开源飞控系统的编译离不开一套稳定高效的嵌入式开发环境,而依赖管理与交叉编译工具链的配置往往是初学者最大的门槛。以PX4为代表的大型C++/Python混合项目,其编译流程涉及系统软件源、Python包、GitHub子模块以及ARM工具链等多个环节,任一环节的网络或版本问题都会导致环境搭建失败。镜像站加速与源码替换是解决这类问题的通用思路,通过配置国内apt源、PyPI镜像、GitHub代理前缀等技巧,可以显著提升依赖拉取的成功率与速度。掌握这些基础方法,不仅适用于PX4,也适用于其他依赖GitHub子模块的

weixin_28711397的博客 300

Python爬虫实战:5分钟搞定Web of Science文献批量导出与解析(附完整代码)

本文提供了一套利用Python爬虫技术,快速实现Web of Science文献批量提取与解析的完整方案。通过解析官方导出的HTML文件,结合BeautifulSoup和pandas库,可将文献数据自动转换为结构化的Excel/CSV表格,帮助科研人员高效管理文献信息,节省大量手动整理时间。

weixin_29050513的博客 1162

win10 WSL2 AirSim 仿真环境搭建

win10 WSL2 AirSim 仿真环境搭建wsl2AirSim安装教程基本环境安装WSL2安装PX4 编译环境配置好默认的工具链下载编译PX4安装AirSim环境安装虚幻引擎下载AirSimLandscapeMountains下载编译AirSim 和PX4的联合仿真最后结果 wsl2 WSL 2 是微软早在 2017 年推出的 WSL 的原始版本的重大升级。WSL 2 不仅仅是版本的升级。它更快、更通用,并且使用真正的 Linux 内核。 AirSim 微软Microsoft的AI研究部门开源了Air

qq_44421259的博客 2273

深入瑞芯微SDK:手把手解析Uboot、Kernel到Rootfs的镜像生成与烧录

本文深入解析瑞芯微SDK中从Uboot、Kernel到Rootfs的镜像生成与烧录全流程,揭示编译背后的技术细节。通过详细分析SDK架构、镜像生成流水线、分区表定制、Rootfs构建及烧录科学,帮助开发者从会编译进阶到懂原理,掌握系统级开发的关键技术。

weixin_29193359的博客 268

Multisim仿真入门:单相半波可控整流电路从搭建到波形分析(附避坑指南)

本文为电力电子技术初学者提供了一份详细的Multisim仿真指南,手把手教你从零搭建单相半波可控整流电路。通过对比纯电阻、阻感负载及加入续流二极管后的波形变化,直观理解晶闸管触发、电感续流等核心原理,并附有实用的参数设置与常见问题避坑指南,帮助你将抽象理论转化为可视化的工程实践。

weixin_29208077的博客 343

飞控开源PX4编译环境搭建

首先,作为无人机爱好者想学习飞控,首先了解目前有两大开源系统,PX4和Ardupilot。其次,需要清楚一些必要准备。笔者下面将从自己从零开始学习并搭建PX4的经历一步步记录。免费软件,官网如下,用于查看并编译代码。

2301_79455263的博客 1090

【保研经验】北科自动化到北大工学院

作者:办公室某学长 谢邀。。。作为拖延症晚期患者,希望能在我科开学前写完。 先简单介绍一下我的保研过程,申请了清华叉院&北大叉院大数据&北大信科计算机夏令营,三者都没入营;申请了自所夏令营(自所来宣讲时未交简历,这是重大错误),给了第二批补录但没去;最终九推去了北大工学院。我的这次保研最终成功的经历可以说有一定运气成分,不具有普适性,但在前期准备过程中还是有经验可以分享的。 ...

ruanjianbu的博客 1794

PilotPi:树莓派运行PX4配置方法

PilotPi 树莓派运行PX4遇到的问题和解决办法

kcx64的专栏 4568

LinuxCNC---在PC端显示开发板LinuxCNC界面

  今天在调试开发板时,执行开发板上的linuxcnc指令,总是出现如下报错 LINUXCNC - 2.9.0~pre0 application-specific initialization failed: couldn't connect to display "192.168.137.3:1" Error in startup script: invalid command name "image" while executing "image create photo -file $f/$i

中华田园巨龙 3469

【算能】TPU(张量处理单元)的深度解析

算能(SOPHGO)作为国产AI芯片领域的核心企业,其TPU(张量处理单元)以高能效比与全场景覆盖能力为核心竞争力,专注于边缘计算与行业垂直领域的AI推理加速。

浩瀚之水的专栏 1545

PX4开源飞控--开发环境搭建 编译仿真及烧录

PIXHAWK是应用较广的开源飞控硬件平台,PX4是开源飞控软件平台,可以烧写到PIXHAWK这款硬件板上。PX4飞控软件平台(PX4专为PIXHAWK开发的),它提供了一个虚拟环境,可以用来验证无人机的飞控算法,也可以连接开源硬件PIXHAWK。

zhoubiaodi的博客 3万+

python爬虫项目(六十八):爬取电商平台用户购买历史数据,分析消费行为

本文详细介绍了如何爬取电商平台用户购买历史数据,并分析其消费行为。通过爬虫技术、数据存储、分析和可视化等步骤,可以深入了解消费者的行为特征。未来,随着数据分析技术的不断发展,利用人工智能和机器学习方法对消费行为进行更深层次的分析,将成为电商平台提升竞争力的重要手段。

斌擎科技 2764

ubuntu18.04配置px4编译环境

运行make px4_sitl_gazebo报错。 打开新的命令行,运行gazebo发现有一样的报错。 根据Symbol lookup error (both instalation methods),发现是ignition-math库太老了,需要更新。运行以下代码: sudo apt upgrade libignition-math2 在命令行重新运行gazebo,正常运行。 重新运行make px4_sitl gazebo,出现新的报错。 ... [250/812] Generating romfs

RTFSC的博客 1704

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

PX4从放弃到精通(一):开源飞控PX4简介+系列文章大纲

文章目录前言一、PX4是什么?二、PX4能做什么?1.支持的载具2.支持的飞控硬件二、PX4架构二、如何开发PX4?二、基于PX4的集群开发二、基于PX4的避障开发总结 前言 设计无人机的飞控是一个非常复杂的工程,因此对于很多做无人机的同学来说,使用开源飞控更加方便高效.本文主要介绍有"开源飞控之王"之称的PX4飞控,主要使想研究这一飞控的同学对此有一个初步的认识. 一、PX4是什么? PX4是由苏黎世联邦理工学院的计算机视觉与几何实验室的一个软硬件项目PIXHAWK演变而来,目的在于为学术、爱好和工业团体

超维空间科技的博客 8万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: PX4-Autopilot代码解析(18)-通信系统
下一篇: PX4-Autopilot代码解析(19)- MAVLink 实现
timmy-uav
博客等级 码龄26年 526粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

timmy-uav

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值