Pequeño "try again" con el port de Bennu a GP2X

Started by Drumpi, March 13, 2010, 01:53:39 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

los dolores de cabeza que tengo con cmake que tienen productos auxiliares que uso en proyectos laborales...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Una preguntilla: he visto que para usar las autotools del SDK oficial en Linux, se tienen que setear determinadas variables del sistema para que apunten a ellas, por lo que al terminar hay que volver a setearlas a sus valores anteriores. Si yo hago esos cambios y llamo a configure/make desde un script .sh ¿los cambios son permanentes o sólo durante el proceso de compilación, como me dan a entender?
Es que podría hacer eso, meter las de Linux y fin del problema, pero de nuevo: necesito tener luego el sistema ready-to-go para el proyecto (tengo que meterle el open-embedded, el git tree de angstrom, el eclipse...).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DCelso

Eso ya es cosa del funcionamiento de linux.
A ver si en el script creas una variable sin ningún tipo de parámetro, solo es visible únicamente por el script principal, ni siquiera los scrips que llames desde dentro de éste verán esa variable.
Si luego haces un export de la variable, con la funcion llamada export, ya si que lo verán los demás scripts, y se quedará permanente para tu sesión de usuario.
Quiere decir que si entras por otro terminal o si entra otro usuario esa variable exportada no la verá tampoco.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

exacto, si quieres que algo se vea en todos los usuarios debes ponerlo en /etc/profile o en el .profile del home de cada usuario, asi queda permanente para los usuarios que se lo hayas seteado...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Ah, mejor, porque si por ejemplo me instalo el SDK oficial de GP2X y tengo que modificar la variable CROSS_COMPILER, lo hago desde el script y así, cuando vuelva al proyecto, mantengo el valor original de la variable (que luego se me olvida setearla de nuevo, esa o cualquier otra, y pierdo el día entero viendo pantallazos negros en la beagle).
Gracias.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Bueno, mis impulsos me han llevado de nuevo a este punto.
Lo cierto es que parece que he aprendido bastante de toolchains y compiladores cruzados en este tiempo (no se si gracias a vosotros y este intento de port, o al proyecto de fin de carrera) porque he estado leyendo el sh para establecer las variables del sistema y lo entiendo casi entero :P

Bueno, que había cogido el SDK para recompilar el módulo rt2570.o para la negrita, que no funciona en open2x, para ver si encontraba alguna forma (aunque fuera rara) de comunicarme con la beagleboard (que está de "antisocial" que marea), y no se cómo, he encontrado otro SDK con el famoso crt1.o entre sus ficheros (¿pero cuantos SDK tengo aquí metidos?).
Así que me dije "vamos a intentarlo de nuevo".

Un ./configure (chorizo de letras, que ahora sí entiendo) me ha dado el siguiente error:
checking for des_ecb_encrypt in -ldes... no
configure: error: libdes library not found


Normal, se me había olvidado compilarla de la carpeta "vendor". Me voy allí y hago configure... ups, no existe configure. Bueno, pues make:
$ make
gcc -DRAND      -O3 -fomit-frame-pointer   -c -o rpw.o rpw.c
gcc -DRAND      -O3 -fomit-frame-pointer -o rpw rpw.o libdes.a
rpw.o:rpw.c:(.text+0x3d): undefined reference to `_des_read_password'
rpw.o:rpw.c:(.text+0xc1): undefined reference to `_des_read_2passwords'
collect2: ld returned 1 exit status
make: *** [rpw] Error 1


Y aquí me he quedado, porque no me acuerdo de los pasos que seguí hace casi un año ^^U
Creo recordar que aun sigo usando los makefiles sin modificar, y no quiero usarlos aun (es más, no tuve problemas al compilar la libdes anteriormente). A ver si Splinter se acuerda de esto o si alguien sabe qué está pasando (porque esto tiene pinta de ser cosa del propio código).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

cuando ejecutas el script de las variables, con ". ./script.sh" al final te aparece un texto que dice como  hacer el configure... eso mismo tenes que hacer con los configure...

por otro lado, ya no se usa mas la libdes, ahora se usa la openssl, tenes que bajarla y compilarla.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Es lo que he hecho: ejecuto el script que configura las rutas y los programas para compilar, me he ido a la carpeta vendor/des-4.04b y escribo:

$ ./configure --prefix=${PREFIX} --target=${TARGET} --host=${HOST} --build=${BUILD} --enable-shared

obteniendo

bash: ./configure: No such file or directory

Quiero intentarlo con la versión que tengo, porque entre otras cosas, se me ha estropeado el PC donde tenía configurado el tortoise, y ahora no puedo acceder al CVS (a menos que ubuntu ya lo tenga preinstalado y yo no lo sepa).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

¿La carpeta de las toolchains bin/pkg-config es necesaria? ¿tendría algo que ver con esto?
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Bueno, he retomado el anterior port y le pasa exactamente igual, no se qué pasa. Supongo que tendré que meterle los makefiles del antiguo port, que supongo que evitan el uso de esa librería.
También tendré que buscar por internet, porque tengo CVS en ubuntu, pero no tengo ni repajolera idea de cómo va ^^U
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Nada, mientras no se qué hacer, he podido descargar bennu del SVN, y openssl de http://www.openssl.org/source/
He ejecutado el script para establecer las variables del entorno y me he ido a la carpeta del openssl. La linea:
$ ./configure --prefix=${PREFIX} --target=${TARGET} --host=${HOST} --build=${BUILD} --enable-shared

No sirve con esto. Dice:
Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimental-<cipher>...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-krb5] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]

Por lo que, después de leer un poquillo la información que me da he conseguido configurarlo mediante:
$ ./configure --prefix=${PREFIX} no-hw no-asm Cygwin

Con la salida que adjunto en el log.txt.
Sin embargo, make no funciona: obtengo el log2.txt y
cryptlib.c:1: error: bad value (i486) for -march= switch
make[1]: *** [cryptlib.o] Error 1
make: *** [build_crypto] Error 1


Y aquí ya me pierdo.
Mientras, a ver si hago funcionar la anterior versión (o configuro eclipse para la BB ;D).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

tenes que hacer ./Configure <la plataforma>

supongo que es arm... no se, no pusiste las opciones que aparcen cuando te tira eso...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

$ ./config -h
Usage: config [options]
-d     Add a debug- prefix to machine choice.
-t     Test mode, do not run the Configure perl script.
-h     This help.

Any other text will be passed to the Configure perl script.
See INSTALL for instructions.

Operating system: i686-whatever-cygwin
Configuring for Cygwin
/usr/bin/perl ./Configure Cygwin


Por eso creo que está bien. Antes conseguía una lista enorme de posibles candidatos, pero no me acuerdo como me salió ^^U

Uh? ahora compila?
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

no

./Configure

por otro lado, vos no tenes cygwin, tenes mingw... pero aun asi, no estas armando la version para windows, sino para arm...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

#29
No, yo tengo cygwin. He hecho el configure con
./configure --prefix=${PREFIX} Cygwin

y ha ido bien... hasta que make me ha largado un:
making all in test...
make[1]: Entering directory `/home/Administrator/bennugd143/openssl-1.0.0/test'
make[2]: Entering directory `/home/Administrator/bennugd143/openssl-1.0.0/test'
( :; LIBDEPS="${LIBDEPS:--L.. -lssl -L.. -lcrypto  }"; LDCMD="${LDCMD:-gcc}"; LD
FLAGS="${LDFLAGS:--DOPENSSL_THREADS  -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIOS -DL_EN
DIAN -fomit-frame-pointer -O3 -march=i486 -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOP
ENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5
_ASM -DRMD160_ASM -DAES_ASM -DWHIRLPOOL_ASM}"; LIBPATH=`for x in $LIBDEPS; do ec
ho $x; done | sed -e 's/^ *-L//;t' -e d | uniq`; LIBPATH=`echo $LIBPATH | sed -e
's/ /:/g'`; LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH ${LDCMD} ${LDFLAGS} -o ${
APPNAME:=md2test.exe} md2test.o ${LIBDEPS} )
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libcygwin.a(libcmain.o):(.text+0xab):
undefined reference to `_WinMain@16'
collect2: ld returned 1 exit status
make[2]: *** [link_app.] Error 1
make[2]: Leaving directory `/home/Administrator/bennugd143/openssl-1.0.0/test'
make[1]: *** [md2test.exe] Error 2
make[1]: Leaving directory `/home/Administrator/bennugd143/openssl-1.0.0/test'
make: *** [build_tests] Error 1


Voy a intentarlo con configure a pelo, si no, hago un make -i porque no creo que los test sean algo importante para compilar bennu ¿o si? (bueno, test y un par de errores más que me da por ahi delante).

EDIT: vale, configure sólo me da
$ ./configure
Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimental-<cipher>
...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[
no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-krb5] [386] [--prefix
=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:
flags]

pick os/compiler from:
BC-32 BS2000-OSD BSD-generic32 BSD-generic64 BSD-ia64 BSD-sparc64 BSD-sparcv8
BSD-x86 BSD-x86-elf BSD-x86_64 Cygwin Cygwin-pre1.3 DJGPP MPE/iX-gcc OS2-EMX
OS390-Unix QNX6 QNX6-i386 ReliantUNIX SINIX SINIX-N UWIN VC-CE VC-WIN32
VC-WIN64A VC-WIN64I aix-cc aix-gcc aix3-cc aix64-cc aix64-gcc aux3-gcc
beos-x86-bone beos-x86-r5 bsdi-elf-gcc cc cray-j90 cray-t3e darwin-i386-cc
darwin-ppc-cc darwin64-ppc-cc darwin64-x86_64-cc dgux-R3-gcc dgux-R4-gcc
dgux-R4-x86-gcc dist gcc hpux-cc hpux-gcc hpux-ia64-cc hpux-ia64-gcc
hpux-parisc-cc hpux-parisc-cc-o4 hpux-parisc-gcc hpux-parisc1_0-cc
hpux-parisc2-cc hpux-parisc2-gcc hpux64-ia64-cc hpux64-ia64-gcc
hpux64-parisc2-cc hpux64-parisc2-gcc hurd-x86 irix-cc irix-gcc irix-mips3-cc
irix-mips3-gcc irix64-mips4-cc irix64-mips4-gcc linux-alpha+bwx-ccc
linux-alpha+bwx-gcc linux-alpha-ccc linux-alpha-gcc linux-aout linux-armv4
linux-elf linux-generic32 linux-generic64 linux-ia32-icc linux-ia64
linux-ia64-ecc linux-ia64-icc linux-ppc linux-ppc64 linux-s390x linux-sparcv8
linux-sparcv9 linux-x86_64 linux64-sparcv9 mingw mingw64 ncr-scde netware-clib
netware-clib-bsdsock netware-clib-bsdsock-gcc netware-clib-gcc netware-libc
netware-libc-bsdsock netware-libc-bsdsock-gcc netware-libc-gcc newsos4-gcc
nextstep nextstep3.3 osf1-alpha-cc osf1-alpha-gcc purify qnx4 rhapsody-ppc-cc
sco5-cc sco5-gcc solaris-sparcv7-cc solaris-sparcv7-gcc solaris-sparcv8-cc
solaris-sparcv8-gcc solaris-sparcv9-cc solaris-sparcv9-gcc solaris-x86-cc
solaris-x86-gcc solaris64-sparcv9-cc solaris64-sparcv9-gcc solaris64-x86_64-cc
solaris64-x86_64-gcc sunos-gcc tandem-c89 tru64-alpha-cc uClinux-dist
uClinux-dist64 ultrix-cc ultrix-gcc unixware-2.0 unixware-2.1 unixware-7
unixware-7-gcc vos-gcc vxworks-mipsle vxworks-ppc405 vxworks-ppc750
vxworks-ppc750-debug vxworks-ppc860 debug debug-BSD-x86-elf debug-Cygwin
debug-VC-WIN32 debug-ben debug-ben-debug debug-ben-no-opt debug-ben-openbsd
debug-ben-openbsd-debug debug-ben-strict debug-bodo debug-darwin-i386-cc
debug-darwin-ppc-cc debug-geoff32 debug-geoff64 debug-levitte-linux-elf
debug-levitte-linux-elf-extreme debug-levitte-linux-noasm
debug-levitte-linux-noasm-extreme debug-linux-elf debug-linux-elf-noefence
debug-linux-generic32 debug-linux-generic64 debug-linux-ia32-aes
debug-linux-pentium debug-linux-ppro debug-linux-x86_64 debug-rse
debug-solaris-sparcv8-cc debug-solaris-sparcv8-gcc debug-solaris-sparcv9-cc
debug-solaris-sparcv9-gcc debug-steve-opt debug-steve32 debug-steve64
debug-ulf debug-vos-gcc

NOTE: If in doubt, on Unix-ish systems use './config'.


Usando config me lo configura para Cygwin.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)