***Compilazione del Mame per LibXenon.***
Per coloro che hanno tentato la compilazione del Mame, ricevendo errori del tipo "Syntax Error" o "Command not found":
Lo sviluppatore sta muovendosi verso il porting a MamePlus. Questa versione benchè abbia molti benefici ha bisogno di alcune "pezze" al codice.
Clonando il repository git del progetto, riceverete l'ultimo commit che al momento non è funzionante.
Il commit ha il seguente commento: "updated to mameplus 0.144u7".
La soluzione è semplice. Migrare il codice al commit precedente e far ripartire la compilazione.
Per migrare al codice precedente, dalla cartella mame-lx, lanciare il comando git con la seguente sintassi:
Codice:
git checkout (stringa hash)
Per compilare con successo ci muoveremo al penultimo commit digitando:
Codice:
git checkout 11ac0a21bc73d57e3638336945f75916502f92d5
Per sicurezza, prima di ricompilare, date un make clean.
Nel caso nella ricompilazione dovesse esservi restituito questo errore:
Codice:
/usr/local/xenon/usr/lib/libfreetype.a(ftbzip2.o): In function `ft_bzip2_file_init':
ftbzip2.c:(.text+0x2cc): undefined reference to `BZ2_bzDecompressInit'
/usr/local/xenon/usr/lib/libfreetype.a(ftbzip2.o): In function `ft_bzip2_file_done':
ftbzip2.c:(.text+0x350): undefined reference to `BZ2_bzDecompressEnd'
/usr/local/xenon/usr/lib/libfreetype.a(ftbzip2.o): In function `ft_bzip2_file_reset':
ftbzip2.c:(.text+0x460): undefined reference to `BZ2_bzDecompressEnd'
ftbzip2.c:(.text+0x4f4): undefined reference to `BZ2_bzDecompressInit'
/usr/local/xenon/usr/lib/libfreetype.a(ftbzip2.o): In function `ft_bzip2_file_fill_output':
ftbzip2.c:(.text+0x734): undefined reference to `BZ2_bzDecompress'
collect2: ld returned 1 exit status
make: *** [mamexenon.elf] Error 1
L'errore è dovuto al mancato riferimento nella compilazione alla libreria Bzip2.
Per risolvere il problema, sempre dalla cartella mame-lx, editate il makefile. (Fatelo con NANO, Gedit o qualunque sia il vostro editor preferito).
Cercate questa stringa:
Codice:
$(LD) -g $(MACHDEP) -Wl,-Map,$(notdir $@).map $(LDFLAGS) $(LDFLAGSEMULATOR) $(LIBPATHS) $(LIBS) -lxenon -lm -lpng -lfreetype $^ -lxenon -lpng -lfreetype -n -T $(LDSCRIPT) -o $@
e modificatela con questa:
Codice:
$(LD) -g $(MACHDEP) -Wl,-Map,$(notdir $@).map $(LDFLAGS) $(LDFLAGSEMULATOR) $(LIBPATHS) $(LIBS) -lxenon -lm -lpng -lfreetype -lbz2 $^ -lxenon -lpng -lfreetype -lbz2 -n -T $(LDSCRIPT) -o $@
Fatto. Il Mame si compilerà correttamente.
Segnalibri