Introducción

El año es 2023, estamos felices utilizando nuestro Ubuntu 22.04, hacemos colcon build y tenemos un problema… queremos contruir un paquete que originalmente estaba pensado para ROS 1, desarrollado en Ubuntu 18.04

Aparte de tener que migrar la lógica de ROS 1 a ROS 2, tenemos el problema de instalar paquetes que no vienen en la versión actual de Ubuntu. Solución: agregar temporalmente los ppa, instalar lo necesario y volver al inicio:

  1. Identificar las versiones que necesitamos, por ejemplo:
    • gcc-6:
      http://ar.archive.ubuntu.com/ubuntu/ bionic/universe
      
    • libeigen3-dev=3.3.7-2
      http://ar.archive.ubuntu.com/ubuntu focal/universe
      
  2. Agregar los ppa en /etc/apt/sources.list ```bash deb http://ar.archive.ubuntu.com/ubuntu/ bionic main restricted deb http://ar.archive.ubuntu.com/ubuntu/ bionic universe

deb http://ar.archive.ubuntu.com/ubuntu/ focal main restricted deb http://ar.archive.ubuntu.com/ubuntu/ focal universe

3. Hacer update
```bash
sudo apt update
  1. Instalar la versión específica del paquete, no dejar en blanco ya que puede instalar otra versión:
    sudo apt install libeigen3-dev=3.3.7-2
    
  2. Verificar
    apt policy libeigen3-dev
    
  3. Comentar las líneas de /etc/apt/sources.list: ```bash #deb http://ar.archive.ubuntu.com/ubuntu/ bionic main restricted #deb http://ar.archive.ubuntu.com/ubuntu/ bionic universe

#deb http://ar.archive.ubuntu.com/ubuntu/ focal main restricted #deb http://ar.archive.ubuntu.com/ubuntu/ focal universe ```

  1. Listo