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?

Edit: thank you all for the great suggestions! I got stuck on an unrelated problem (ran out of storage space) but I’m sure your suggestions will work once I fix that. Forgive me for not replying individually, you’re all awesome and I don’t have anything to add other than “thank you” :)

    • beforan@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

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

      but yeah, agree this would be the simplest.

  • Para_lyzed@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    9 months ago

    I don’t have much to comment on native installs that hasn’t already been said, but if you go with a VM, please don’t use VirtualBox. It’s a pile of hot garbage that pales in comparison to the already existing, kernel-level virtualization offered by KVM/QEMU. Use a package like virt-manager for KVM/QEMU based VMs and your experience and performance will be infinitely better. The Linux kernel has KVM built in for a reason, so take advantage of that.

    Otherwise, Distrobox is a great recommendation, as are many of the other install methods listed in these comments.

  • mozz@mbin.grits.dev
    link
    fedilink
    arrow-up
    4
    ·
    9 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).

  • conciselyverbose@kbin.social
    link
    fedilink
    arrow-up
    3
    ·
    9 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
    2
    ·
    edit-2
    9 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

  • Max-P@lemmy.max-p.me
    link
    fedilink
    arrow-up
    1
    ·
    9 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.