Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Linux Mint 21.3 support with Gazebo Harmonic #24100

Closed

Conversation

asifpatankar
Copy link

Solved Problem

When executing ubuntu.sh script on Linux Mint 21.3 (based on Ubuntu 22.04), the script failed to recognize the OS and install correct dependencies, particularly for Java and Gazebo. Fixes #24097

Solution

  • Added Linux Mint 21.3 detection to ubuntu.sh
  • Set Java version 11 for Linux Mint 21.3 compatibility
  • Configured Gazebo Harmonic installation using Ubuntu Jammy repositories for Linux Mint 21.3
  • Updated from Garden to Harmonic based on contributor feedback for better compatibility
  • Cleaned up branch for cleaner commit history as suggested by reviewers

Changelog Entry

For release notes:

Bugfix: Added Linux Mint 21.3 support to ubuntu.sh installation script with Gazebo Harmonic
Documentation: No changes needed

Test coverage

  • Tested on Linux Mint 21.3
  • Successfully installed all dependencies including Java 11 and Gazebo Harmonic
  • Verified working with PX4 SITL simulation

Context

The changes ensure proper detection of Linux Mint 21.3 and installation of correct dependencies, allowing PX4 development environment setup on Linux Mint 21.3 systems.

The modifications maintain compatibility with existing Ubuntu installations while adding support for Linux Mint 21.3 users. Changed to Gazebo Harmonic as recommended for better compatibility with Linux Mint's Ubuntu Jammy base.

- Add Linux Mint 21.3 detection
- Configure Java 11 for Linux Mint 21.3
- Set up Gazebo Harmonic installation for Linux Mint 21.3
- Use Ubuntu Jammy repositories for package installation
@mrpollo
Copy link
Contributor

mrpollo commented Dec 13, 2024

Hey @asifpatankar thanks for the pr, however, we purposely removed specific support for 20.04 & 18.04, going forward we will only carry support for the latest Ubuntu LTS and one version prior, right now its Ubuntu 24.04 & 22.04.

Regarding Mint, after a quick search i can see the latest release is 22 which corresponds to Ubuntu 24.04, and 21 which is based on Ubuntu 22.04.

With this in mind, its not clear why you are adding support for older Ubuntu versions? it seems like you are restoring lines of code that were previously removed in #23937

Copy link
Contributor

@mrpollo mrpollo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see my comments

Copy link
Member

@MaEtUgR MaEtUgR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems many improvements get reverted.

Are the essentials still the same as in #23203 ?

echo "Earlier versions will be removed"
# Add Gazebo binary repository
sudo wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable jammy main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why would you explicitly add jammy even though $(lsb_release -cs) expands to jammy if you are on that version?
The rest is the same except for gz-harmonic which should then be the only string that gets changed.

@@ -118,38 +126,68 @@ if [[ $INSTALL_NUTTX == "true" ]]; then
build-essential \
flex \
g++-multilib \
gcc-arm-none-eabi \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're reverting multiple improvements of #23869

@@ -92,17 +105,12 @@ sudo DEBIAN_FRONTEND=noninteractive apt-get -y --quiet --no-install-recommends i
# Python3 dependencies
echo
echo "Installing PX4 Python3 dependencies"
PYTHON_VERSION=$(python3 --version 2>&1 | awk '{print $2}')
REQUIRED_VERSION="3.11"
if [[ "$(printf '%s\n' "$REQUIRED_VERSION" "$PYTHON_VERSION" | sort -V | head -n1)" == "$REQUIRED_VERSION" ]]; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're reverting multiple improvements of #23937

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable jammy main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo apt-get update -y --quiet
# Install Gazebo
gazebo_packages="gz-harmonic"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused gazebo_packages="gz-harmonic is also the else case you delete below. What's the required difference now?

@asifpatankar
Copy link
Author

I got the whole scenario. I will delete this branch. Thank you all for all the support and quick responses^^

@asifpatankar asifpatankar deleted the linux-mint-21.3-support-clean branch December 17, 2024 06:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants