[Jde] Compilar JDE 4.3

Roberto Calvo rocapal en gsyc.es
Dom Oct 26 15:44:19 CET 2008


Enorme Redo!

Solo un par de cosas:
 
 * David, cuando lo modifiques avisame y recontruyo los paquetes debian.
 * Convendría que todo esto quedará registrado en el trac. Para futuros
fallos, cuando descubráis nuevos bugs lo primero poner un ticket en el
tracy luego lo discutimos por la lista. Que no os preocupe que no sea de
verdad un fallo, si es así se pone a fixed o false el ticket y listo.

un saludo,

El dom, 26-10-2008 a las 13:27 +0100, David Lobato escribió:
> Impresionante! Buen trabajo Redo, añadiré las modificaciones en cuanto
> pueda para seguir probando el sistema de compiación.
> 
> 
> Un saludo!
> 
> El 24 de octubre de 2008 23:34, redouane kachach
> <redo.robot en gmail.com> escribió:
>         Hola a todos,
>         
>         Aver, varias cosas. No se si me he dado con el problema pero
>         por lo menos he conseguido localizarlo. Los pasos que he dado
>         son los siguientes:
>         
>         1) readelf -s jde 
>         
>         Con este comando vemos dos secciones del ejecutable:
>         
>         Symbol table '.dynsym' contains 41 entries:
>            Num:    Value  Size Type    Bind   Vis      Ndx Name
>            -- aqui se listan todos los simbolos visibles desde fuera
>         -- 
>         
>         Symbol table '.symtab' contains 135 entries:
>            Num:    Value  Size Type    Bind   Vis      Ndx Name
>           -- aqui se listan todos los simbolos del ejecutable -- 
>         
>         Pues bien, el jde resultado de la compilación solo tenia el
>         "myexport" en la segunda sección mientras deberia estar
>         tambien en la primera ya que es un simbolo que lo usan el
>         resto de los modulos. 
>         
>         Y porque no sale el simbolo y no se lista en la parta
>         del .dynsym ??
>         
>         Pues bien, si vamos al directorio base donde esta jde y
>         borramos el ejecutable que se genero ahi, y lanzamos de nuevo
>         el make, vemos que el jde se genera con la siguiente linea:
>         
>          /bin/bash ../libtool --tag=CC   --mode=link gcc -D CONFIGDIR=
>         \"/tmp/jde/share/jdec/conf\" -g -pedantic -Wall -pthread
>         -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/usr/include/X11
>         --export-dynamic -ldl  -o jde jde-jde.o  -ldl
>         gcc -D CONFIGDIR=\"/tmp/jde/share/jdec/conf\" -g -pedantic
>         -Wall -pthread -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS
>         -I/usr/include/X11 --export-dynamic -o jde jde-jde.o  -ldl 
>         
>         He sobrallado en negrita lo más  importante de esta linea. Tal
>         y como indica el Makefile.am:
>         
>         jde_LDFLAGS = --export-dynamic
>         
>         Quiere decir que a la hora del linking esta opcion tiene que
>         estar activa. Sin embargo, esta opcion es entendible por el LD
>         y no por el GCC. Este ultimo solo entiende "-rdynamic"  que
>         cuando activada, el gcc pasa un "--export-dynamic" a LD para
>         que este haga bien el linkado incluyendo todos los simbolos
>         como dinamicos. 
>         
>         Pues cambiando el Makefile, y añadiendo la -rdynamic el
>         "myexport" ya se añade en la sección de .dynsym y el
>         graphics_gtk.so se carga bien y encuentra el simbolo.
>         
>         Pero entonces, como esta funcion funciona en el 4.2.1 ?? La
>         respuesta es porque en el Makefile de esta version la opcion
>         SI que se pasa al compilador:
>         
>         jde: jde.o
>             $(GCC) $(CFLAGS) -Wl,--export-dynamic $(LIB-DIR) -o jde
>         jde.o $(OBJS) $(LIBS)
>         
>         La -Wl le dice al GCC que pase la opcion que le viene en
>         seguida al linker. Lo que no se es como hacer para decirle a
>         autotools que pase los jde_ldflags al linker !!
>         
>         Saludos,
>         Redo.
>         
>         
>         2008/10/24 redouane kachach <redo.robot en gmail.com>
>         
>         
>                 
>                 
>                 Hola a todos,
>                 
>                 
>                 Ayer me he instalado la 4.3 y he pasado por los mismo
>                 problemas que Gonzalo. Tampoco me he dado con la
>                 solucion pero es algo muy raro. Segun estuve leyendo
>                 el "dlopen" a la hora de buscar los simbolos empieza
>                 primero en el ejecutable. En nuestro caso el jde
>                 (ejecutable) es quien difine el simbolo myexport y si
>                 con "nm" se puede ver que el simbolo es GLOBAL y esta
>                 definino y visible desde fuera (lleva delante un T
>                 mayuscula) , y en graphics_gtk.so este simbulo esta
>                 como "U" undefined como debria ser.
>                 
>                 
>                 Lo más raro, tengo una compilación de 4.2.1 en la
>                 misma maquina donde los simbolos estan en la misma
>                 configuracion de arriba pero esta vez el "dlopen" si
>                 que encuentra el simbolo myexport y jde arranca sin
>                 problemas.
>                 
>                 
>                 Si alguien da con el error, porfavor que explique como
>                 lo ha solucionado :-) ..
>                 
>                 
>                 Saludos,
>                 Redo.
>                 
>                 
>                 
>                 
>                 
>                 
>                 
>                 
>                 2008/10/24 Gonzalo Abella <abellagonzalo en gmail.com>
>                 
>                 
>                         Acabo de probar esto último y nada... el mismo
>                         fallo de siempre :( . No se con que más
>                         probar.
>                         
>                         Gonzalo
>                         
>                         
>                         
>                         El 23 de octubre de 2008 21:51, José Antonio
>                         Santos Cadenas <jcaden en gsyc.es> escribió:
>                         
>                         
>                                 Prueba a poner el -Bsymbolic a jde,
>                                 que es el que exporta ese símbolo, y
>                                 recompílalo. A ver si hay suerte.
>                                 
>                                 Saludos.
>                                 
>                                 Jose.
>                                 
>                                 El Thursday 23 October 2008 21:02:25
>                                 Gonzalo Abella escribió:
>                                 
>                                 > Nada... me sigue dando el mismo
>                                 problema... He dejado el Makefile.am
>                                 de
>                                 > graphics_gtk de la siguiente manera:
>                                 >
>                                 > *if ENABLE_GRAPHICS_GTK
>                                 > service_LTLIBRARIES =
>                                 graphics_gtk.la
>                                 > endif
>                                 >
>                                 > graphics_gtk_la_SOURCES =
>                                 graphics_gtk.c graphics_gtk.h
>                                 > graphics_gtk_la_LDFLAGS = -module
>                                 -avoid-version
>                                 > -Bsymbolic$(GRAPHICS_GTK_LIBS)
>                                 graphics_gtk_la_CFLAGS =
>                                 > $(GRAPHICS_GTK_CFLAGS) -I
>                                 $(top_srcdir)/base dist_conf_DATA =
>                                 > graphics_gtk.conf
>                                 >
>                                 > MAINTAINERCLEANFILES = Makefile.in
>                                 Makefile*
>                                 >
>                                 > Lanzo otra vez el reconfigure de
>                                 modo que me cree el Makefile con la
>                                 opción
>                                 > de Bsymbolic. Hago un make clean y
>                                 un make install, pero sale el mismo
>                                 > error de "undefined symbol: my
>                                 export".
>                                 >
>                                 > ¿Qué otra cosa podría ser?
>                                 >
>                                 > Gonzalo
>                                 >
>                                 > El 22 de octubre de 2008 17:47,
>                                 David Lobato
>                                 <dav.lobato en gmail.com>escribió:
>                                 > > Perdona, Bsymbolic es una opcion
>                                 de enlazado, así que hay que añadirla
>                                 en
>                                 > > graphics_gtk_la_LDFLAGS
>                                 > >
>                                 > >
>                                 > >
>                                 > >
>                                 > > El 22 de octubre de 2008 17:43,
>                                 David Lobato
>                                 > > <dav.lobato en gmail.com>escribió:
>                                 > >
>                                 > > No hace falta que uses los
>                                 Makefiles antiguos, modifica los
>                                 nuevos
>                                 > >
>                                 > >> Makefiles.am
>                                 > >>
>                                 > >> Por ejemplo coge el de gtk y
>                                 añade en la linea:
>                                 > >> graphics_gtk_la_CFLAGS =
>                                 $(GRAPHICS_GTK_CFLAGS) -I
>                                 $(top_srcdir)/base
>                                 > >> -Bsymbolic
>                                 > >>
>                                 > >> Y recompila. El Makefile deberia
>                                 reconstruirse solo.
>                                 > >>
>                                 > >> Si con esto funciona ya sabemos
>                                 cual es el problema. En ese caso
>                                 ticket
>                                 > >> y me pongo con ello.
>                                 > >>
>                                 > >> David.
>                                 > >>
>                                 > >>
>                                 > >> El 22 de octubre de 2008 17:36,
>                                 José Antonio Santos Cadenas <
>                                 > >> jcaden en gsyc.es> escribió:
>                                 > >>
>                                 > >> Tienes razón, no me había dado
>                                 cuenta de la segunda línea del error.
>                                 Es
>                                 > >>
>                                 > >>> cierto
>                                 > >>> que lo que no puede encontrar es
>                                 un símbolo. Ya nos contarás.
>                                 > >>>
>                                 > >>> Suerte!!
>                                 > >>>
>                                 > >>> Jose.
>                                 > >>>
>                                 > >>> El Wednesday 22 October 2008
>                                 17:33:17 Gonzalo Abella escribió:
>                                 > >>> > Seguramente sea esto último
>                                 que dice David porque el path está
>                                 bien
>                                 > >>> > (si
>                                 > >>>
>                                 > >>> no
>                                 > >>>
>                                 > >>> > estuviese bien me saldría un
>                                 error diciendo
>                                 > >>>
>                                 > /home/gon/jde-robot/lib/jdec/graphics_gtk.so:
>                                 > >>> > cannot open shared object
>                                 file: No such file or directory) y los
>                                 > >>>
>                                 > >>> permisos
>                                 > >>>
>                                 > >>> > los he mirado y están bien.
>                                 Acabo de comentarlo con Jose María y
>                                 voy
>                                 > >>> > a hacer unas pruebas
>                                 compilando los esquemas con los
>                                 Makefiles de la
>                                 > >>>
>                                 > >>> 4.2.1
>                                 > >>>
>                                 > >>> > para ver si se arregla el
>                                 problema.
>                                 > >>> >
>                                 > >>> > En cuanto tenga algo os
>                                 comento.
>                                 > >>> >
>                                 > >>> > Gonzalo
>                                 > >>> >
>                                 > >>> > El 22 de octubre de 2008
>                                 17:17, David Lobato
>                                 <dav.lobato en gmail.com
>                                 > >>> >
>                                 > >>> >escribió:
>                                 > >>> > > No he puesto la opción
>                                 -Bsymbolic que en los makefiles
>                                 antiguos si
>                                 > >>> > > estaba. No se si esto puede
>                                 causar algún problema.
>                                 > >>> > > Si no lo consigues con la
>                                 solución de José Antonio prueba a
>                                 pasar
>                                 > >>>
>                                 > >>> esta
>                                 > >>>
>                                 > >>> > > opción (no me acuerdo en
>                                 este momento como, tendría que
>                                 > >>> > > mirarlo....)
>                                 > >>> > >
>                                 > >>> > > El 22 de octubre de 2008
>                                 17:01, Gonzalo Abella
>                                 > >>> > >
>                                 <abellagonzalo en gmail.com>escribió:
>                                 > >>> > >
>                                 > >>> > > Perfecto!! Ya lo tengo en mi
>                                 home. Ahora el problema me viene al
>                                 > >>>
>                                 > >>> ejecutar
>                                 > >>>
>                                 > >>> > >> un esquema cualquiera. Al
>                                 cargar graphics_gtk me sale esto:
>                                 > >>> > >>
>                                 > >>> > >> gon en moriles:~/config-jde
>                                 $ ../jdec/base/jde conf-project.conf
>                                 > >>> > >> jdec 4.3-svn
>                                 > >>> > >> Configuration from
>                                 conf-project.conf
>                                 > >>> > >> Reading configuration...
>                                 > >>> > >> graphics_gtk driver loaded
>                                 (driver 0)
>                                 > >>> > >> Loading GTK support...
>                                 > >>> > >> ../jdec/base/jde: symbol
>                                 lookup error:
>                                 > >>> >
>                                 >> /home/gon/jde-robot/lib/jdec/services/graphics_gtk.so: undefined
>                                 > >>>
>                                 > >>> symbol:
>                                 > >>> > >> myexport
>                                 > >>> > >>
>                                 > >>> > >>
>                                 > >>> > >> Según creo es del linkado,
>                                 pero no se como arreglarlo.
>                                 > >>> > >>
>                                 > >>> > >> Un saludo
>                                 > >>> > >> Gonzalo
>                                 > >>> > >>
>                                 > >>> > >>
>                                 > >>> > >>
>                                 > >>> > >> El 21 de octubre de 2008
>                                 17:15, David Lobato
>                                 > >>> > >>
>                                 <dav.lobato en gmail.com>escribió:
>                                 > >>> > >>
>                                 > >>> > >> No queda otra que
>                                 instalarlo en algún sitio para poder
>                                 usarlo, ya
>                                 > >>>
>                                 > >>> que
>                                 > >>>
>                                 > >>> > >> los
>                                 > >>> > >>
>                                 > >>> > >>> .so están cada uno por su
>                                 lado dentro de los directorios de
>                                 > >>> > >>> driver, schemas y demás.
>                                 Usa la variable prefix que se pasa al
>                                 > >>> > >>> configure
>                                 > >>>
>                                 > >>> con
>                                 > >>>
>                                 > >>> > >>> algún directorio en tu
>                                 cuenta o en el tmp.
>                                 > >>> > >>>
>                                 > >>> > >>> Un saludete.
>                                 > >>> > >>> David.
>                                 > >>> > >>>
>                                 > >>> > >>> 2008/10/21 Gonzalo Abella
>                                 <abellagonzalo en gmail.com>
>                                 > >>> > >>>
>                                 > >>> > >>>> Buenas,
>                                 > >>> > >>>>
>                                 > >>> > >>>> estoy empezando a usar
>                                 jde 4.3, pero no consigo compilarlo.
>                                 Sigo
>                                 > >>>
>                                 > >>> las
>                                 > >>>
>                                 > >>> > >>>> instrucciones que hay en
>                                 un mail de la lista de hace algunas
>                                 > >>>
>                                 > >>> semanas:
>                                 > >>> > >>>> $> autoreconf -vfi
>                                 > >>> > >>>> --> Genera el configure.
>                                 Si falla revisad que tenéis
>                                 > >>> > >>>> automake-1.9, autoconf y
>                                 libtools
>                                 > >>> > >>>>
>                                 > >>> > >>>> $>./configure
>                                 --with-player=<path de player si no
>                                 es /usr/local>
>                                 > >>> > >>>> --with-gazebo=<path de
>                                 gazebo si no es /usr/local>
>                                 > >>> > >>>> --prefix=<path donde
>                                 quereis instalarlo>
>                                 > >>> > >>>>
>                                 > >>> > >>>> $> make install
>                                 > >>> > >>>> [/copia]
>                                 > >>> > >>>>
>                                 > >>> > >>>>
>                                 > >>> > >>>> Pero en vez de hacer el
>                                 "make install" hago el un "make". Lo
>                                 > >>>
>                                 > >>> compila,
>                                 > >>>
>                                 > >>> > >>>> pero no me crea los ".so"
>                                 o si los crea no tengo ni idea de
>                                 > >>> > >>>> donde
>                                 > >>>
>                                 > >>> los
>                                 > >>>
>                                 > >>> > >>>> deja. ¿Sabéis que puede
>                                 ser? No me da errores de compilación.
>                                 > >>> > >>>>
>                                 > >>> > >>>> Un saludo
>                                 > >>> > >>>> Gonzalo
>                                 > >>> > >>>>
>                                 > >>> > >>>>
>                                 _______________________________________________
>                                 > >>> > >>>> Jde-developers mailing
>                                 list
>                                 > >>> > >>>> Jde-developers en gsyc.es
>                                 > >>> > >>>>
>                                 http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developer
>                                 > >>> > >>>>s
>                                 > >>>
>                                 > >>>
>                                 _______________________________________________
>                                 > >>> Jde-developers mailing list
>                                 > >>> Jde-developers en gsyc.es
>                                 > >>>
>                                 http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>                                 > >
>                                 > >
>                                 _______________________________________________
>                                 > > Jde-developers mailing list
>                                 > > Jde-developers en gsyc.es
>                                 > >
>                                 http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>                                 
>                                 
>                                 _______________________________________________
>                                 Jde-developers mailing list
>                                 Jde-developers en gsyc.es
>                                 http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>                                 
>                         
>                         
>                         _______________________________________________
>                         Jde-developers mailing list
>                         Jde-developers en gsyc.es
>                         http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>                         
>                 
>         
>         
>         _______________________________________________
>         Jde-developers mailing list
>         Jde-developers en gsyc.es
>         http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>         
> 
> 
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
-- 
Roberto Calvo Palomino          | Libre Software Engineering Lab (GSyC)
Tel: (+34)-914 888 105          | Universidad Rey Juan Carlos
rocapal en gsyc.es                 | Edif. Departamental II - Despacho 116
http://libresoft.urjc.es/       | c/Tulipán s/n 28933 Móstoles (Madrid)

GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : application/pgp-signature
Tamaño     : 197 bytes
Descripción: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada
	digitalmente
Url        : http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20081026/c5064fca/attachment.pgp 


More information about the Jde-developers mailing list