User avatar
cpcbegin
Posts: 212
Joined: Sun Mar 08, 2015 3:48 pm
Location: Costa del Sol, Spain
Contact: Website

[solucionado] Compilar un juego de otro linux en raspbian

Fri Mar 25, 2016 8:04 pm

Estoy intentado compilar el juego Vorton para la raspberry (un remake de highway encounter que no consume muchos recursos).
El problema es que en el archivo makefile.linux la sección de flags está para pentium:

Code: Select all

CFLAGS =        -Wall -Wno-switch -march=pentium -mcpu=pentium -DDEBUG \
                -DDATA_PREFIX=\"data/\" -DFILE_SEPARATOR=\"/\" -DARGS \
                -Isrc -Isrc/SDL_flic -Isrc/SFont `sdl-config --cflags` \
                -ffast-math -fno-common -ffreestanding -fno-builtin \
                -fno-exceptions -fstrict-aliasing -O3 \
                -Isrc/filmat -Isrc/phase2 -Isrc/ML_Lib \
Y lógicamente falla.
¿Que tendría que cambiar en este archivo para que se pudiera compilar?
He probado cambiando la primera línea por:

Code: Select all

CFLAGS =        -Wall -Wno-switch -march=native -mcpu=arm7 -DDEBUG \
pero da el siguiente error:

Code: Select all

src/error.c:7:23: error: static declaration of ‘font’ follows non-static declaration
 static SFont_FontInfo font;
                       ^
In file included from src/error.c:1:0:
src/vorton.h:177:23: note: previous declaration of ‘font’ was here
 extern SFont_FontInfo font,fontgame,font_opt,fontnumber;
                       ^
<builtin>: recipe for target 'src/error.o' failed
make: *** [src/error.o] Error 1
La mía es una raspberry pi 2 y el juego usa las librerías SDL, SDL mixer, SDL image (ya instaladas).
Last edited by cpcbegin on Sat Apr 02, 2016 6:54 am, edited 1 time in total.
Trucos y recetas para raspberry pi:
http://malagaoriginal.blogspot.com.es/search/label/raspberry%20pi

raspdroid
Posts: 1605
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Compilar un juego de otro linux en raspbian

Sat Mar 26, 2016 11:30 am

Me suena más armv7 armv7-a armv7l

raspdroid
Posts: 1605
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Compilar un juego de otro linux en raspbian

Sat Mar 26, 2016 12:16 pm

Pues ni una ni la otra.

Code: Select all

arm-linux-gnueabihf-gcc  -mcpu=native -march=native -Q --help=target
-march=armv7ve y -mcpu=cortex-a7

y make -f Makefile.linux

Si tienes configurado SDL, SDL_mixer y SDL_image debería compilar.

User avatar
cpcbegin
Posts: 212
Joined: Sun Mar 08, 2015 3:48 pm
Location: Costa del Sol, Spain
Contact: Website

Re: Compilar un juego de otro linux en raspbian

Sun Mar 27, 2016 6:46 am

Sigue saliendo el mismo error, parece que es un problema con las tipografías.
He probado añadirle la última línea a CFLAGS, que he visto en algunos foros:

Code: Select all

CFLAGS =        -Wall -Wno-switch -march=armv7ve -mcpu=cortex-a7 -DDEBUG \
                -DDATA_PREFIX=\"data/\" -DFILE_SEPARATOR=\"/\" -DARGS \
                -Isrc -Isrc/SDL_flic  `sdl-config --cflags` \
                -ffast-math -fno-common -ffreestanding -fno-builtin \
                -fno-exceptions -fstrict-aliasing -O3 \
                -Isrc/filmat -Isrc/phase2 -Isrc/ML_Lib \
                -DFREETYPE_INCLUDE_DIRS=/usr/include/freetype2/ \
Y ahora el error es otro:

Code: Select all

In file included from src/error.c:1:0:
src/vorton.h:42:19: fatal error: SFont.h: No existe el fichero o el directorio
 #include "SFont.h"
Así que he cambiado SFont.h por freetype.h pero a pesar de haber puesto el directorio no parece enterarse de donde están los archivos, si pongo la ruta completa me pilla freetype.h pero falla en el siguiente archivo de la librería:

Code: Select all

In file included from src/vorton.h:43:0,
                 from src/error.c:1:
/usr/include/freetype2/freetype.h:24:2: error: #error "`ft2build.h' hasn't been included yet!"
 #error "`ft2build.h' hasn't been included yet!"
  ^
/usr/include/freetype2/freetype.h:25:2: error: #error "Please always use macros to include FreeType header files."
 #error "Please always use macros to include FreeType header files."
  ^
/usr/include/freetype2/freetype.h:26:2: error: #error "Example:"
 #error "Example:"
  ^
/usr/include/freetype2/freetype.h:27:2: error: #error "  #include <ft2build.h>"
 #error "  #include <ft2build.h>"
  ^
/usr/include/freetype2/freetype.h:28:2: error: #error "  #include FT_FREETYPE_H"
 #error "  #include FT_FREETYPE_H"
  ^
/usr/include/freetype2/freetype.h:32:22: fatal error: ft2build.h: No existe el fichero o el directorio
 #include <ft2build.h>
                      ^
compilation terminated.
<builtin>: recipe for target 'src/error.o' failed
make: *** [src/error.o] Error 1
/usr/include/freetype2/ existe.
Trucos y recetas para raspberry pi:
http://malagaoriginal.blogspot.com.es/search/label/raspberry%20pi

User avatar
cpcbegin
Posts: 212
Joined: Sun Mar 08, 2015 3:48 pm
Location: Costa del Sol, Spain
Contact: Website

Re: Compilar un juego de otro linux en raspbian

Sat Apr 02, 2016 6:53 am

Finalmente lo he conseguido con la ayuda de swampdog, muchas gracias también a ti por la ayuda.

Image Image

He puesto, para quien le interese, enlaces al código corregido y binarios para raspberry pi 2, PC GNU/Linux de 32 bits y PC GNU/Linux de 64 bits.
Trucos y recetas para raspberry pi:
http://malagaoriginal.blogspot.com.es/search/label/raspberry%20pi

Return to “Español”