GNU/Linux ◆ xterm-256color ◆ bash 36 views

Instalar SWI-Prolog desde la fuente en una Raspberry Pi 5 es posible y puede garantizar que obtienes la última versión con todas las optimizaciones. Sigue estos pasos para hacerlo:


1. Actualizar el sistema

Primero, asegúrate de que el sistema operativo esté actualizado.

sudo apt update && sudo apt upgrade -y

2. Instalar dependencias necesarias

Instalar los paquetes que SWI-Prolog necesita para compilarse correctamente:

sudo apt install -y git build-essential cmake libgmp-dev libssl-dev \
                    zlib1g-dev libreadline-dev libffi-dev libjpeg-dev \
                    libtiff-dev libxext-dev libice-dev libbz2-dev \
                    libncurses5-dev libdb-dev uuid-dev

3. Clonar el repositorio de SWI-Prolog

Descargar el código fuente desde GitHub:

git clone https://github.com/SWI-Prolog/swipl-devel.git
cd swipl-devel

4. Compilar el código

Crear una carpeta de compilación separada y configurar la compilación:

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..

Luego, compila el proyecto. Esto puede llevar un tiempo dependiendo de la velocidad de tu Raspberry Pi:

make -j$(nproc)

5. Instalar SWI-Prolog

Una vez que la compilación se haya completado sin errores, instala SWI-Prolog en el sistema:

sudo make install

6. Verificar la instalación

Comprueba que SWI-Prolog esté instalado correctamente ejecutando:

swipl --version

Deberías ver la versión instalada de SWI-Prolog.


7. Agregar SWI-Prolog al PATH (opcional)

Si la instalación no se detecta automáticamente, añade /usr/local/bin a tu PATH:

echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

8. Uso básico de SWI-Prolog

Puedes iniciar SWI-Prolog con:

swipl

Para salir, usa:

halt.

Correcciones

El error que mencionas indica que CMake no pudo encontrar las herramientas necesarias para compilar SWI-Prolog. Vamos a revisar los pasos correctivos necesarios para resolverlo:


1. Verificar que tienes las herramientas de compilación correctas

Aunque instalaste build-essential, parece que faltan algunas dependencias específicas. Asegúrate de instalar:

sudo apt update
sudo apt install -y build-essential cmake ninja-build \
                    gcc g++ make pkg-config
  • ninja-build: Esta herramienta puede ser necesaria ya que algunos proyectos usan Ninja en vez de Make.
  • gcc y g++: Son los compiladores C y C++ que faltan según los errores.

2. Eliminar la carpeta build anterior (si existe)

Si ya creaste la carpeta build anteriormente y dio errores, elimínala para evitar conflictos:

cd ~/swipl-devel
rm -rf build
mkdir build
cd build

3. Reconfigurar con CMake

Ahora intenta ejecutar el comando de CMake nuevamente, asegurándote de especificar Ninja como la herramienta de compilación:

cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local ..

4. Compilar el código

Después de que la configuración de CMake se complete exitosamente, compila usando:

ninja

Este proceso puede demorar dependiendo del rendimiento de tu Raspberry Pi.


5. Instalar SWI-Prolog

Si la compilación fue exitosa, instala SWI-Prolog con:

sudo ninja install

6. Verificar la instalación

Comprueba que SWI-Prolog se haya instalado correctamente con:

swipl --version

Posibles problemas adicionales

  • Si sigue habiendo problemas con los compiladores, asegúrate de que estén disponibles en tu PATH:
      which gcc
      which g++
    Si no aparecen, intenta reinstalar gcc y g++.