Ver la versión completa : Migrar una aplicación hecha con Devkit GP2X
Buenas,
Para empezar con esto de la programación en Wiz había pensado en migrar un jueguecillo de la GP2X a la Wiz. Tengo Linux y el toolchain instalado.
El caso es que a la hora de compilar me dice que faltan cabeceras como "png.h" o "zlib.h". Me he ido a la carpeta "include" del toolchain y efectivamente está vacía.
El caso es que dispongo de estos archivos de cabecera, pero no se si tendré que recompilar las correspondientes librerías y sus dependencias con el toolchain o si las puedo conseguir en algún sitio.
Gracias apañeros. [wei2]
EDITO: Ya he comprobado que sólo con las cabeceras no es suficiente, aun compilando dinámicamente. :(
El toolchain de Wiz tiene lo mínimo y le faltan muchas librerías que vienen con el kit de GP2X. Algunas se podrán recompilar, pero otras no, ya que el hardware es diferente. La libpng y libz a mí me funcionan en dinámico (con el truco de Franxis para devkitGP2X), pero otras como SDL_Mixer fallan también en dinámico. Así que esperemos que saquen un SDK completo pronto.
Gracias por responder.
Un pregunta. ¿El truco de franxis lo estás aplicando al toolchain o al devkitGP2X igual que él?
El tema es que he estado buscando el devkitGP2X y parece que ya no existe tal cosa. Todos los enlaces que encuentro a la página oficial en Sourceforge es a un proyecto devkitPro, que incluye muchas más opciones (nds, psp, gp32...) y ninguno de los tutoriales que he encontrado para combinarlo con el Dev-cpp me sirven, ya que cambian todas las rutas y archivos.
El kit que estoy usando es un pack para GP2X (http://dl.openhandhelds.org/cgi-bin/gp2x.cgi?0,0,0,0,14,2295) con todas las librerías y el Code::Blocks configurado. En la zona de descargas (http://www.gp32spain.com/foros/downloads.php?do=cat&id=40) está el oficial con Dev-C++ y en el archivo de GP2X (http://dl.openhandhelds.org/cgi-bin/gp2x.cgi?0,0,0,0,14). En el archivo tienes varios kits precompilados, incluido un script para Linux (http://dl.openhandhelds.org/cgi-bin/gp2x.cgi?0,0,0,0,14,1040) que te genera todo.
Parece que alguien se ha estado molestando en compilar algunas librería para que la toolchain no venga tan "desnuda".
http://www.gp32x.com/board/index.php?/topic/48635-a-slightly-more-complete-toolchain-libs-for-linux-devs/
Menos mal, ya que los SDK de Windows me estaban dando bastantes problemas: el Codeblocks me da fallo en la instalación (como que falta un archivo), el oficial no me acepta las opciones "-mcpu=arm926ej-s -mtune=arm926ej-s" y al DevkitGP2X le faltan librerías que necesito (como la libpng).
Ya estaba haciendo una especie de mezcla entre unos y otros que no iba a llegar a ningún lado. [wei]
A ver que tal me va con el nuevo toolchain y os comento.
Gracias WinterN, parece que ese toolchain está bien completo de librerías, y además con librerías estáticas. Esto es un notición. El SDK oficial de GP2X puede que traiga un gcc antiguo y no soporte este procesador.
Bueno, he descargado este nuevo toolchain y he conseguido compilar a la primera sin problemas, pero cuando voy a ejecutar el programa en la Wiz se queda colgado en la pantalla de "Loading", tanto si enlazo dinámicamente como estáticamente.
¿Alguna sugerencia para depurar este problema?
Lo único efectivo para depurar es hacerse un cable serie (http://www.gp32spain.com/foros/showthread.php?t=64575) con un cable de datos de Samsung. Pero no son fáciles de encontrar. También podrías hacer: "./programa > out.txt 2> error.txt" pero esto no funciona si falla la aplicación, ya que no se escriben los ficheros.
Sí, lo de redirigir la salida ya lo había probado sin éxito. También he probado a hacer un .gpe que lance el programa como tarea de fondo (con &), pero se queda colgado igual.
Creo que probaré a empezar con un "Hola mundo" e intentar tirar a partir de ahí.
Por cierto, el juego que intento compilar es el Nethack 0.6 (http://www.gp32spain.com/foros/downloads.php?do=file&id=764) (código fuente (http://www.gp32spain.com/foros/downloads.php?do=file&id=766)). Compila bien a la primera (tocando las rutas del Makefile, obviamente). Por si alguien quiere probarlo.
bitrider
13/07/2009, 19:36
Yo llevo un par de semanas igual, probando con diferentes tool-chains (pre-generados, auto-generados...), diferentes juegos de librerías, etc. Siempre tengo el mismo problema, pega un SIGSEGV en cuanto llamo a alguna función de la SDL, no paso del loading, una pantalla en negro, SIGSEGV y vuelta al menú de la Wiz. :lamer:
SDK oficial ya !!! :confused:
Después de instalar el Termula2x, he podido el mensaje de error en cada caso.
Si compilo dinámicamente, al ejecutar el nethack obtengo este error:
./nethack_dyn.gpe: /lib/libpng12.so.0: no version information available (required by ./nethack_dyn.gpe)
Si en cambio compilo estáticamente, me da este otro:
FATAL: kernel too old
Segmentation fault
También he intentado complicar el Mame4all de Franxis. Compiló a la primera (dinámicamente) y cuando lo ejecuto me da este error:
./mame_yo.gpe: /lib/libgcc_s.so.1: Version 'GCC_4.2.0' not found (required by ./mame_yo.gpe)
CrazyKing
19/07/2009, 02:14
Personalmente he tenido un problema similar al compilar usando ese toolchain.Con la libreria iconv... evidentemente no me la encontraba. Lo que he echo ha sido copiar la libreria (la que viene con ese toolchain) libiconv.so.2 a /lib en la nand. (aunque por si acaso ire apuntando los cambios que haga en la nand) De esta forma me ha funcionado perfectamente, eso si, dinamicamente. Si lo compilo estaticamente me pasa lo mismo que a ti... Voy a probar mas librerias.
bitrider
19/07/2009, 11:47
Si intentas copiar las librerías de la NAND al toolchain para que enlace dinámicamente con ellas te suelta un error de que están compiladas con VFP y lo que tu has comilado no, por lo tanto no se puede...
Esto es un pelín desesperante, he conseguido compilar y hacer que funcionen algunas cosas pero otras no hay manera.
Y encima los data-sheets del procesador los tienen cuatro gatos y, casi seguro, sujetos a NDAs.
Si te pones a desarrollar algo esperas no tener que dar cien mil vueltas...
CrazyKing
19/07/2009, 11:59
Nono, no se si eso me lo dices a mi xD Pero decia precisamente lo contrario, en cuanto a librerias no tengo problema... el problema es que algunas como iconv que no se encuentran en la NAND (o eso creo ya que no la encuentra al ejecutarlo desde termula2x) lo que tengo que hacer, o me la compilo yo mismo o, en este caso, usando este toolchain en el cual vienen tantas librerias ya compiladas... pues se la meto (:$) a la nand en /lib para que el ejecutable funcione. No se si me explico... Estaticamente que es como mas me interesa no hay manera...
GameMaster
19/07/2009, 12:01
Yo sigo soñando con un kit para windows del sdk o de alguna adaptación para que pueda programar en vista. Otra pregunta (igual es pergunta de ignorante, pero con tanto foro uno se lia): Las aplicaciones de Gp2x no funcionan directamente en Wiz, y las de Fenix ? (probe mi tarjeta sd de gp2x y entra en los juegos, pero no sale del 'loading...' lo mismo en los juegos fenix).
bitrider
19/07/2009, 12:04
No iba por ti, era en general.
Yo por más que lo intento hay casos que no consigo hacer funcionar: gpsp (casca), nethack (suelta el erro indicado por WinterN), ...
Otros que sí: AlexKidd (no tira de SDL), algún ejemplo de las SDL
(todo esto con enlazado dinámico, por supuesto)
Las aplicaciones de Gp2x no funcionan directamente en Wiz, y las de Fenix ?
Ya se ha comentado varias veces, las aplicaciones de GP2X no van en Wiz. Para ello hay que recompilarlas y adaptarlas. Las de Fénix si funcionan, ya que son bytecodes como Java, pero necesitan el runtime de la Wiz.
GameMaster
19/07/2009, 19:21
Ya se ha comentado varias veces, las aplicaciones de GP2X no van en Wiz. Para ello hay que recompilarlas y adaptarlas. Las de Fénix si funcionan, ya que son bytecodes como Java, pero necesitan el runtime de la Wiz.
Vale muchas gracias, voy a ver si finalizo un port que lleba en standby 1 año (por fin ese pelin de velocidad extra que necesitaba). Y de paso empiezo otro. Lo curioso es que entre en la pantalla de loading, lo mejor seria poner fichero incompatible, pero bueno, es lo de menos.
Bueno, depende de la aplicación, si has compilado dinámicamente puede funcionar. La guichan2x (que por cierto, debería acabar de ajustarla algún día xD) funciona en la Wiz sin tocar nada de la versión de GP2X, y encima la táctil va (que es lo que me falla en la 2X dependiendo del firm).
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.