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:
- 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
- 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
- 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
- Verificar
apt policy libeigen3-dev
- 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 ```
- Listo