Hope these kinds of questions are allowed here. On this occasion I’m just looking for a straight answer.

For a university course I need to install ROS - software for doing robotics stuff. Specifically, I need ROS 1 - which is no longer being updated, as ROS 2 is now the focus. The installation instructions are here: https://wiki.ros.org/Installation/Ubuntu

The instructions from the course material say that only Ubuntu 18 would work, though the ROS wiki says Ubuntu 20.04 is the target. Either way, it doesn’t seem to be available for Ubuntu 22.04 and therefore Linux Mint 21, which is what I’m running.

The course instructions generally gives 3 options:

  1. Install ROS on a VirtualBox virtual machine
  2. Install on Windows using WSL
  3. Install on a real Ubuntu 18 system

Right now I’m going to use VirtualBox to get started, but I’d really prefer to run it natively and I’m worried about performance. Is there a simple way to download and run software intended for Ubuntu 20.04 on Linux Mint 21.3?

  • Max-P@lemmy.max-p.me
    link
    fedilink
    arrow-up
    0
    ·
    8 months ago

    Install from source is fairly likely to work: https://wiki.ros.org/noetic/Installation/Source

    It doesn’t seem to have any outrageously complicated dependencies to work, just C++, Boost and a few other recognizable names, at least at a glance. They also seemingly have an ArchLinux package, which means it’s likely to at least be buildable on latest everything. Mint will fall in between, so the odds it’ll compile are pretty good.

  • conciselyverbose@kbin.social
    link
    fedilink
    arrow-up
    0
    ·
    8 months ago

    Try it?

    I haven’t really needed to virtualize anything lately, but my understanding is that some of the options on Linux are pretty light weight. Frpm discussion I’ve seen, I think distrobox could resolve the issue with minimal overhead if you have issues natively, though I haven’t personally experimented with it or its limitations.

  • lemmyreader@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    8 months ago

    Both Snap and Flatpak provide an easy install for the really old, pre 1997, NCSA Mosaic browser. The Snap page gives a hint about how this was done :

    Built from source code hosted at: https://github.com/alandipert/ncsa-mosaic Thanks to John Lenton for the snapcraft config.

    This suggests that if you can build the ROS 1 from source, you have Flatpak and Snap as option, and maybe also AppImage.

    Besides that there is also Linux KVM (QEMU) which may perform better than VirtualBox. Cannot find a good page for Ubuntu on it, but here’s the KVM entry of the excellent Arch Linux wiki https://wiki.archlinux.org/title/KVM

    • beforan@lemm.ee
      link
      fedilink
      English
      arrow-up
      0
      ·
      8 months ago

      Since they already mentioned WSL, you can also describe distrobox like WSL for Linux.

      but yeah, agree this would be the simplest.

  • Skull giver@popplesburger.hilciferous.nl
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    8 months ago

    You can always try.

    However, be aware that adding third party repositories may cause problems in the future. For example, if you upgrade to a version of Mint that’s based on 22.04 or 24.04, the updater may throw errors or even do an incomplete update because of broken dependency chains.

    If the software you’re using doesn’t depend on (a specific version of) software in the Mint repositories, you should be fine and it shouldn’t matter. I myself have a few external repositories that I know from experience cause no dependency issues. I’ve also had to debug plenty of broken upgrades because of other (popular!) repositories, though.

    You may want to use a tool like Distrobox instead. Binaries running inside Distrobox have close to zero overhead. GPU acceleration can be a bit trickier, but for Nvidia GPUs there are workarounds to maintain full performance.

    You can also try the version of ROS that Ubuntu packages. It’s not the latest version, but it’s guaranteed to work without breaking your software updates or operating system upgrades in the long term.

  • mozz@mbin.grits.dev
    link
    fedilink
    arrow-up
    0
    ·
    8 months ago

    In general this kind of thing won’t work real real well. You can sometimes make it work but it takes a surprisingly large amount of knowledge about the internals of the packaging system and even then it sometimes fails or causes problems.

    I would try install ROS 1 via apt as another poster recommended, with VirtualBox as the fallback option (and see whether performance turns out to be a real issue in practice or not).