PDA

Ver la versión completa : [Programación] Problema en toolchains, binarios estaticos y demas



JoJo_ReloadeD
08/10/2009, 13:30
Os cuento, desde hace poco tengo una Wiz y digo, vamos a hacer algo para ella.

Me pongo a portar el gpfrontier (en gp2x usaba open2x y creaba un binario estatico y todo perfecto) y me pasa lo siguente:


warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

Me da ese warning que tambien me daba en gp2x, pero no habia problemas, imagino que porque las glibc de la toolchain eran identicas a las del firm de gp2x. Bien, en wiz da un segfault del cagarse.

No pasa nada, vamos a hacerlo dinamico. Todo compila, ningun warning, le meto las librerias a la wiz y arranca. Viva y bravo! pero no arranca.

Empieza a verse la pantalla de inicio (vamos, que el binario chuta), pero peta la emulacion 68k, dandome unos mensajes de depuracion del propio frontier.

Bueno, debe de ser cosa de la version del gcc de la toolchain de wiz (4.2.4), pienso, voy a usar la toolchain de gp2x, que ya hemos comprobao que compila bien, pa hacer binarios pa wiz (mirando el tutorial de Franxis para ello). Lo consigo hacer funcionar, pero mismo resultado, se ve la pantalla de inicio, y petada de la emu 68k.

Volviendo una vez mas a la compilacion estatica, pense en meter las libc a pelo en la sd y hacer un export LD_LIBRARY_PATH al directorio... pero sigue petando...

Alguna idea? Alguna otra toolchain que pudiera probar? Alguna que tenga las libc del firm de la wiz?

hardyx
08/10/2009, 13:58
Yo el otro día me puse a compilar un emulador en estático con el toolchain de Wiz para Linux. Compiló perfectamente, lo meto en la wiz y me dice: "Kernel too old". Con lo cual una de dos, o no van muy bien las librerías en estático o soy muy zoquete.
Hasta ahora estoy usando un pack del code::blocks para Windows con las librerías del SDK de GP2X y las librerías SDL optimizadas de Paeryn. Eso sí, con el parche de Franxis y linkando en dinámico para usar las de la Wiz.

SplinterGU
08/10/2009, 16:23
que compiles todo con estatico no significa que todo lo que use tu proceso lo sea... hay algunas librerias muy ligadas al kernel que siempre seran dinamicas... no recuerdo ahora cual, pero la libc me parece que la carga siempre dinamica.

Drumpi
08/10/2009, 17:32
En concreto la libc y todas aquellas que me dan problemas a mi para hacer el port de bennu a gp2x:
ld-2.2.5.so
libc-2.2.5.so
libcrypt-2.2.5.so
libdl-2.2.5.so
libm-2.2.5.so
libnsl-2.2.5.so
libnss_dns-2.2.5.so
libnss_files-2.2.5.so
libresolv-2.2.5.so
librt-2.2.5.so
libutil-2.2.5.so
Al menos, es lo que yo pienso, pero la libc la puedes poner en la misma carpeta del juego, es la única de la que no se me queja el código.