Compilando Mupen64 0.5

Antes de nada, las presentaciones. Mupen64 es un emulador de Nintendo 64 disponible para sistemas GNU/Linux y Windows (aunque también hay ports para otros sistemas como MacOS X). Lo interesante es que es de código abierto, con lo cual, está disponible el código fuente del emulador para quien quiera hacer modificaciones o sencillamente compilarlo para su máquina. Y eso es precisamente lo que haremos, compilar.

Por qué compilar

Hoy en día, es posible tener un sistema GNU/Linux como sistema operativo de uso diario (y de usuario medio) sin tener que enfrentarse nunca a una compilación ya que la mayoría de programas o bibliotecas vienen empaquetados de tal manera que el usuario puede instalarlos mediante el instalador de su distribución (yast, synaptic, yum…), de forma totalmente transparente y sin tener que configurar casi nada. Pero no todos los programas están empaquetados o preparados para una instalación “sencilla”, ya sea porque no son muy populares, porque son muy nuevos o porque nadie se ha tomado la molestia de preparar el paquete deb o rpm, por ejemplo. En estos casos no nos queda más que compilarlos nosotros o darle la vara a alguien que sepa y lo haga por nosotros 😛

Mupen64 se puede descargar desde la web ya compilado, es decir, bajarnos el binario, el ejecutable. El problema es que este binario fue obtenido en una distribución GNU/Linux y en una máquina que puede ser muy distinta a la nuestra. Muchas veces no habrá ningún problema en usar ese binario, otras, puede que obtengamos errores de violación de segmento o core dump, pero compilando nosotros nuestro Mupen64, conseguiremos un binario optimizado para nuestra máquina, evitando otros errores e incluso podremos ganar en velocidad de ejecución 🙂

Qué necesitamos

  • El código fuente, que podemos descargar desde aquí­
  • Bibliotecas gtk2. Buscad el paquete libgtk2.0-dev o superior.
  • Compilador de C: gcc
  • Bibliotecas de SDL: libsdl1.2-dev
  • Compilador de C++ (g++) y biblioteca avifile (libavifile-0.7-dev). Sólo si queréis activar la opción de realizar VCR (más abajo lo explico)

¡A compilar!

Si ya hemos instalado todo lo de arriba, procedemos a descomprimir el código del Mupen64, así que en un directorio que queráis hacéis:

$ tar jxvf mupen64_src-0.5.tar.bz2

También podéis usar vuestro programa preferido para comprimir/descomprimir de forma gráfica.

Bien, ahora tendremos una carpeta llamada mupen64_src-0.5. Vamos dentro de ella y lo que nos interesa es el archivo configure que es el que hará todo el proceso de comprobación y compilación. Pero antes de lanzarnos, debemos corregir una lí­nea en dicho fichero para evitar este error:

$./configure
Found a working C compiler (gcc).
Checking SDL…
./config.temp: 3: Syntax error: “(” unexpected
*** Couldn’t find a working SDL library!

Aunque tengamos instalada la biblioteca de SDL seguirá dando ese error. Para arreglarlo, abrimos el fichero configure con vuestro editor de texto favoritos y nos vamos a la línea (148 en la versión actual) que pone:

echo "int main(void) { if (SDL_Init( 0 ) < 0) { printf( "SDL_Init(): %s\n", SDL_GetError() ); return 1; } return 0; }" >> "$FILE"

Y la sustituimos por esta otra:

echo "int main(void) { return 0; }" >> "$FILE"

Venga, que ahora sí­ que podemos compilar y sé que ¡lo estábais deseando!

$sh configure

Ahora nos hará una serie de preguntas. La primera nos da la opción de que mupen64 se instale en el directorio actual [ YES ] (con lo cual sólo tendrá acceso el usuario propietario) o instalarlo en otra carpeta para que tengan acceso el resto de usuarios de dicha máquina [ NO ]. Por defecto, está marcado sí.

La siguiente pregunta es sobre activar la opción de realizar capturas de vídeo de nuestras partidas (VCR support). Acordaos de que si elegí­s que sí­, tenéis que tener instalados los dos últimos paquetes que menciono más arriba.

Por último nos pregunta si queremos crear el ejecutable de Mupen64. ¡Pues claro que queremos!

Esperamos un ratillo y tendremos en ese directorio el archivo mupen64, el emulador listo para usar. Podemos ejecutarlo desde consola con un $./mupen64. ¡Y a disfrutar!

Como nota final, también tenemos el código de algunos plugins para compilarlos, pero en esto no hay problema y podemos descargarlos (aquí­) ya compilados, meterlos en la carpeta plugins y usarlos. Son los que terminan en .so. Y ya en el emulador, podemos configurarlos en el menú Configure. Ah, y con el código fuente vienen dos demos técnicas para probar el emulador.

Enjoy.

Enlaces relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *