10 agosto 2012

Raspberry Pi y SDL

Mi primer intento de recompilar para Raspberry Pi una aplicación basada en SDL (el emulador de Amstrad CPC llamado Caprice) no fue un éxito.

Resulta que en la instalación básica de Raspbian (al menos en la recopilación de 15-07-2012) no incluye SDLdev (la parte de SDL que es necesaria para compilar programas usando SDL). Pero no es grave, tampoco es difícil añadirlo. Los pasos son:

  • Actualizar (update) los componentes que ya están instalados.
  • Ampliar (dist-upgrade) la distribución con los nuevos paquetes que hayan decididos sus recopiladores.
  • Reiniciar el equipo.
  • Instalar SDLdev y el resto de herramientas de desarrollo.
  • Recompilar el fuente.
Los primeros cuatro pasos equivalen a las siguientes órdenes

sudo apt-get update
sudo apt-get dist-upgrade
sudo shutdown -r now
sudo apt-get install gcc build-essential libsdl1.2-dev

Y el último paso supone entrar a la carpeta en la que está el fuente (en mi caso, "cpc") y recompilarlo (en este caso con "make"):

cd cpc
make -f makefile.unix

Aparecerá algún mensaje de aviso si el fuente incluye construcciones que actualmente se consideren obsoletas (como en el caso de Caprice), pero aun así debería compilar correctamente, y aparecer un ejecutable llamado "cap32". Si lo lanzamos desde consola tecleando

./cap32

nos aparecerá la versión del emulador basada en consola:



Si lo lanzamos desde el entorno gráfico, usando el gestor ficheros ("file manager") que tenemos en la carpeta de accesorios ("accesories") del menú, aparecerá la versión del emulador para entorno gráfico:


Esto no lo he descubierto yo desde cero, sino gracias a la ayuda de conversaciones mantenidas en los propios foros de Raspberry Pi y también a partir de los esfuerzos de otros usuarios, que habían portado ya juegos como Quake3.