Obsolete PX4 Toolchain PIP packages in Ubuntu 20.04

Hello,

I am staring with PX4, and I unsuccessfully tried to install PX4 on the latest Debian or Mint (I even edited the installer bash script, to use the proper version name, but it always failed something). Later, as the official guide recommends Ubuntu 18.04 or 20.04 ( Ubuntu Development Environment | PX4 User Guide (v1.12) ), I ended up installing that flavour, the 20.04 version, and it is how I made it “work” without loosing too much time.

The issue is that Ubuntu has nowadays a lot of inconveniences, and not just Canonical’s Snap (which has a lot of known performance issues, integration issues, lack of package version, lack disk cleanup, and as well as a closed-source server under exclusive Canonical control), but also, 20.04, an obsolete Python version (3.8.10, and, on another job, 1 year ago, once we upgraded it using alternative PPA repos, it broke the system, Apt actually, which was dependent on 3.8), and some Python packages are obsolete as well, for example, mavsdk (MAVSDK-Python)…
I just upgraded to the last available version on the official repos, upgraded pip, all packages, but I still get mavsdk 1.4.9, when the version 2.1 is already available, indeed, 2.x it is the one I need.

Please, does someone know how to update these packages without breaking the OS, or, alternatively, an approachable guide about how to install the Dev Toolchain on a more open, standard and updated Linux flavour, such as Debian or Mint (based on Ubuntu, but they remove Ubuntu decisions and respect de-facto standards)?
Other flavours, as Arch, would be also an option.

Also, please, this is not a critic, just a suggestion, do not feel offended by it, I just think the project should probably officially support Debian, or provide installers for Debian and Mint, as these are more open systems.

Thank you and regards

Hi,

Sorry you had a bit of a miserable time getting started. In generally we try to have things working for the current LTS version of Ubuntu, so 22.04 (or Mint which is what I use because I hate snaps :slight_smile:), so what you’re trying should “just work”…

One problem is that you landed on the docs version v1.12 which is a few years old rather than the latest v1.14 (@hamishwillee can we create a big banner “old version” for these?).

Then, the apt dependency problems that you ran into are likely to do with Gazebo (classic or new?) which is maintained by OSRF and not PX4, so we’re limited in what we can do about that.

And finally, you mention MAVSDK-Python. As a MAVSDK maintainer I need to look into that. Is this on normal x86_64? Can you paste the output of python -m pip install --upgrade mavsdk?

Ok, I can reproduce the MAVSDK-Python pip issue:

python3 -m pip install --upgrade mavsdk
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: mavsdk in ./.local/lib/python3.10/site-packages (1.4.9)
Requirement already satisfied: aiogrpc>=1.8 in ./.local/lib/python3.10/site-packages (from mavsdk) (1.8)
Requirement already satisfied: grpcio>=1.50.0 in ./.local/lib/python3.10/site-packages (from mavsdk) (1.51.1)
Requirement already satisfied: protobuf<=3.20.1 in ./.local/lib/python3.10/site-packages (from mavsdk) (3.20.1)

It looks like the linux wheels are missing: mavsdk · PyPI

Aha, it turns out the file is too large, presumably because we added in the debug symbols:

A fix is coming with CI: don't include debug symbols for musl builds by julianoes · Pull Request #2217 · mavlink/MAVSDK · GitHub where we omit the debug information. After that I’ll trigger MAVSDK-Python v2.0.1.

1 Like

This is a very good idea. I need to think about the right way to do it.

2 Likes

Thank you for your answers… I share your ‘feeling’ (informed opinion I would say) about the latest Snapized Ubuntus.
Still, following the official guide, I failed to finish the installation in Mint Victoria: I edited the Tools/setup/ubuntu.sh fileb (when running lsb_release -cs, it was not finding ‘victoria’ distro on the Ubuntu official repos), but I was never able to finish the full installation… how did you manage to install these successfully?
Do you know some guide somewhere?
If none, alternatively, following advice, I can eventually try to help in the production of Debian and Mint setup guides… or even eventually help with a non-Ubuntu dependent installer script for these.

Hm, that’s true. I don’t use the script on Mint but do the steps manually that I need. I don’t like the script, it’s pretty aggressive :smiley:. And I should probably add support for Mint to it, that would be nice. Or maybe you feel like making a PR ;).


MAVSDK release coming today.

1 Like

FYI, added a front page warning for versions after v1.11 about upgrading. Should appear soon once rebuilds complete.

2 Likes