[GCW Zero] BennuGD

Started by FreeYourMind, July 14, 2014, 06:57:23 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeYourMind

Hola.

1 - Antes de todo pedia una sección GCW Zero para Bennu, para runtime y juegos.

2 - El runtime bennuGD en esta consola viene incluido en el firmware, y es la ultima version. Aparte de esto estoy casi seguro que es una compilación Monolitica, la cual viene sin compilador y no admite modulos creados por nosotros (he hecho la prueba con un modulo compilado por mi, incluido a nivel del .dcb).

3 - Estoy compilando una versión para la consola, normal con modulos, incluido el compilador, ya que algunos compilados pueden tener problemas, y necesitamos compilar en la consola.


4 - El nuevo OS_ID que identifica la consola es el siguiente OS_ID = OS_GCWZERO o OS_ID = 1020.


5 - Ya casi lo tengo compilado, tengo el siguiente error, Splinter a ver si me puedes hechar un cable, parece ser problemas con la version de ZLIB:


-L/home/geca/Geca/MyProject/gcw0-toolchain/usr/lib -lz

/home/geca/Geca/MyProject/gcw0-toolchain/usr/bin/../lib/gcc/mipsel-gcw0-linux-uclibc/4.8.2/../../../../mipsel-gcw0-linux-uclibc/bin/ld: skipping incompatible /home/geca/Geca/MyProject/gcw0-toolchain/usr/lib/libz.so when searching for -lz

/home/geca/Geca/MyProject/gcw0-toolchain/usr/bin/../lib/gcc/mipsel-gcw0-linux-uclibc/4.8.2/../../../../mipsel-gcw0-linux-uclibc/bin/ld: skipping incompatible /home/geca/Geca/MyProject/gcw0-toolchain/usr/lib/libz.a when searching for -lz

c_main.o: In function `_dlibaddr':
c_main.c:(.text+0xf8): undefined reference to `dlsym'
c_main.c:(.text+0xfc): undefined reference to `dlsym'
c_main.c:(.text+0x110): undefined reference to `dladdr'
c_main.c:(.text+0x118): undefined reference to `dladdr'
c_main.c:(.text+0x1e4): undefined reference to `dlerror'
c_main.c:(.text+0x1e8): undefined reference to `dlerror'
c_main.o: In function `import_module':
c_main.c:(.text+0x1650): undefined reference to `dlopen'
c_main.c:(.text+0x1ad8): undefined reference to `dlclose'
c_main.c:(.text+0x1b34): undefined reference to `dlopen'
c_main.c:(.text+0x1bdc): undefined reference to `dlclose'
c_main.c:(.text+0x1c14): undefined reference to `dlerror'
c_main.c:(.text+0x1c40): undefined reference to `dlclose'
c_main.c:(.text+0x1c54): undefined reference to `dlerror'
c_main.c:(.text+0x1c98): undefined reference to `dlclose'
c_main.c:(.text+0x163c): undefined reference to `dlopen'
c_main.c:(.text+0x1ac0): undefined reference to `dlclose'
c_main.c:(.text+0x1b30): undefined reference to `dlopen'
c_main.c:(.text+0x1bd8): undefined reference to `dlclose'
c_main.c:(.text+0x1c10): undefined reference to `dlerror'
c_main.c:(.text+0x1c30): undefined reference to `dlclose'
c_main.c:(.text+0x1c50): undefined reference to `dlerror'
c_main.c:(.text+0x1c94): undefined reference to `dlclose'
b_crypt.o: In function `crypt_create':
b_crypt.c:(.text+0x5c): undefined reference to `DES_key_sched'
b_crypt.c:(.text+0x64): undefined reference to `DES_key_sched'
b_crypt.c:(.text+0x74): undefined reference to `DES_key_sched'
b_crypt.c:(.text+0x7c): undefined reference to `DES_key_sched'
b_crypt.c:(.text+0x8c): undefined reference to `DES_key_sched'
b_crypt.o:b_crypt.c:(.text+0x94): more undefined references to `DES_key_sched' follow
b_crypt.o: In function `crypt_data':
b_crypt.c:(.text+0x190): undefined reference to `DES_ecb_encrypt'
b_crypt.c:(.text+0x19c): undefined reference to `DES_ecb_encrypt'
b_crypt.c:(.text+0x1b0): undefined reference to `DES_ecb_encrypt'
b_crypt.c:(.text+0x1c4): undefined reference to `DES_ecb_encrypt'
b_crypt.c:(.text+0x1d0): undefined reference to `DES_ecb_encrypt'
b_crypt.o:b_crypt.c:(.text+0x1e4): more undefined references to `DES_ecb_encrypt' follow
collect2: error: ld returned 1 exit status




FreeYourMind

las libs ya estan localizadas, estaba mal la ruta de las libs, ahora tengo sólo los errores del main (undefined reference)

SplinterGU

te faltan la libcrypto y la libdl...

agrega detras de -lz esto

-lcrypto -ldl

si no tenes la crypto proba con

-ldes -ldl

la verdad que no me acuerdo si es des o crypto

por otro lado, que buena noticia que venga bennugd en el firmware...

como sabes que es la monolitica, no tiene por ejemplo libmod_video.so ?

has un

find / -name 'libmod_video.so'

a ver que sale... si es un busybox, agrega delante del find la palabra busybox

asi

busybox find / -name 'libmod_video.so'
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

un modulo incluido a nivel dcb? no entiendo eso.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

#4
le pase la lista de modulos a un responsable del firmware y me dijo que sólo llebaba el bgdi, estoy pendiente de sacarlo usando telnet y comprobar su tamaño para salir de dudas.

me refiero a poner el modulo compilado junto al dcb, porque por defecto bennu busca los modulos tambien en la raiz cierto ? la version monolitica no busca modulos externos cierto ?

SplinterGU

creo que si, creo que inclui esa feature...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

en que makefile o fichero de config (carpeta) tengo que poner la llamada a las nuevas libs ?

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Kloppix

Quote from: FreeYourMind on July 14, 2014, 06:57:23 PM
1 - Antes de todo pedia una sección GCW Zero para Bennu, para runtime y juegos.

+1

Muchisimas gracias por portar el compilador, Free.  :)

FreeYourMind

Quote from: SplinterGU on July 14, 2014, 09:18:11 PM
donde dice -lz


jajajajaj, hasta ahi habia llegado pero era para no buscar entre carpetas, imagina que tengo que ponerlo, eso va afectar las demas compilaciones, deberia poder ponerse en el .sh principal de esta plataforma y asi no afectar a los demás

FreeYourMind

el -lz sale en los makefiles generados, necesito saber que fichero debo modificar de todos los ficheros de configuracion que hay

SplinterGU

no se que fichero tenes que modificar, no se que version/trunk/rama tenes... tampoco importa mucho... solo lo tenes que meter en los lugares donde tiene -lz en los fuentes de bennugd...

que importa si afecta a otras plataformas, copia la rama entera a otro directorio, modifica ahi y listo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

El que falla es el compilador, c_main.o requiere las libs esas.

Cual la forma mas facil de quitar el bgdc del makefile, para que no lo llame ?

Podias ayudarme un poco a entender los ficheros de configuracion, los makefiles y config.status son modificados en tiempo de compilacion y es donde encuentro las llamadas a la libs y tambien a la carpeta del bgdc.

Podias ayudarme y decirme que ficheros debo modificar y donde buscar el bgdc y las libs y que esas modificaciones son las que en tiempo real van a generar los makefiles y config.status, estoy perdiendo el tiempo, y no te estoy pidiendo la luna, me dices para buscar todos los -lz y sabes perfectamente que muchos ficheros se modifican en tiempo de compilacion y son ficheros en los que no debo perder el tiempo...

FreeYourMind

#13
ya lo he descubierto... son los ficheros configure.

El bgdrtm.so tambien necesita las libs estas, tendre que seguir mirando el tema de las libs...

FreeYourMind

Resuelto:

Modificar archivo bennugd/core/configure:

substituir linea

ZLIBS="-lz" 

por

ZLIBS="-lz -lcrypto -ldl"


Ahora tengo lo siguiente:

checking for SDL - version >= 1.2.0... no
*** The sdl-config script installed by SDL could not be found
*** If SDL was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the SDL_CONFIG environment variable to the
*** full path to sdl-config.
configure: error: *** SDL version 1.2.0 not found!
*** ABORT ***