https://foro.gambas-es.org/viewtopic.php?f=1&t=232
-----------------------------------
shordi
Martes, 24 Noviembre 2009, 18:23

¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
Desde que Mandriva ha incorporado la versión 2.18 estoy interesado en esa versión. Hace unas semanas Benoit anunción que había implementado una variable que permitía elegir en qué carpeta se ubicaban las librerías de gambas, lo que solucionaría mi problema de versiones. He buscado los mensajes en Nabbles, pero no los encuentro. ¿Alguien lo ha probado, o al menos recuerda las referencias de los foros de Nabbles?


-----------------------------------
shordi
Martes, 24 Noviembre 2009, 18:31

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
Me contesto a mí mismo en parte: La variable en cuestión es GB_DIR, que viene referenciada en la lista de cambios del 2.18.
¿Alguien la ha usado o tiene alguna pista de cómo usarla?


-----------------------------------
jguardon
Martes, 24 Noviembre 2009, 19:11

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
Aún no, pero tengo previsto hacerlo este fin de semana. Tengo que compilarme la 2.18, todavía sigo con la 2.16...

Yo también estoy ansioso. :lol:


-----------------------------------
shordi
Martes, 24 Noviembre 2009, 19:31

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
ok. Estaremos en paralelo, supongo.


-----------------------------------
jguardon
Lunes, 07 Diciembre 2009, 23:31

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
Enlace al artículo que he publicado en la Base de Conocimientos:

http://foro.gambas-es.org/kb.php?mode=article&k=4

Saludos


-----------------------------------
abarzuaf
Martes, 08 Diciembre 2009, 01:10

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
¡Fabuloso!, se agradece el esfuerzo que hiciste.
Ahora, a probar.

PD: Deberias comunicarselo a Benoit.

Saludos :mryellow:


-----------------------------------
abarzuaf
Martes, 08 Diciembre 2009, 01:28

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
Hola.

Me queda una duda.

BEnoit decia que habia que utilizar ldd para buscar las librerias compartidas.
¿Tuviste que hacerlo?, o solo basta con copiar lo que tu dices.

Saludos


-----------------------------------
jguardon
Martes, 08 Diciembre 2009, 01:38

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
[quote user="abarzuaf" post="1357"]
PD: Deberias comunicarselo a Benoit.
[/quote]

Jeje, seguro que él ya lo sabe...

[quote user="abarzuaf" post="1359"]Hola.

Me queda una duda.

BEnoit decia que habia que utilizar ldd para buscar las librerias compartidas.
¿Tuviste que hacerlo?, o solo basta con copiar lo que tu dices.

Saludos[/quote]

No lo he probado en una máquina "virgen", así que no lo sé... pero se me ocurre que se podrían usar como dependencias los mismos paquetes que se describen en la [url=http://foro.gambas-es.org/viewtopic.php?p=373#p373]creación de un paquete monolítico de Gambas:

[code linenumbers=false]Source: gambas2
Section: development
Priority: extra
Maintainer: Tu Nombre <tu@direccion.correo>
Build-Depends: debhelper (>= 7), autotools-dev
Standards-Version: 3.7.3
Homepage: gambas.sourceforge.net

Package: gambas2
Architecture: i386
Depends: kdelibs4c2a (>= 4:3.5.8-1), libatk1.0-0 (>= 1.20.0),
libbz2-1.0, libc6 (>= 2.4), libcairo2 (>= 1.6.0), libcurl3 (>=
7.16.2-1), libffi5, libgcc1 (>= 1:4.1.1-21), libgl1-mesa-glx | libgl1,
libglib2.0-0 (>= 2.12.0), libglu1-mesa | libglu1, libgtk2.0-0 (>=
2.12.0), libice6 (>= 1:1.0.0), libjpeg62, libkrb53 (>= 1.6.dfsg.2),
libmysqlclient15off (>= 5.0.27-1), libomniorb4-1 (>= 4.1.1-2),
libpango1.0-0 (>= 1.20.5), libpcre3 (>= 7.4), libpng12-0 (>= 1.2.13-4),
libpoppler3, libpq5 (>= 8.3~beta1), libqt3-mt (>= 3:3.3.8-b), librsvg2-2
(>= 2.18.1), libsdl-image1.2 (>= 1.2.5), libsdl-mixer1.2 (>= 1.2.6),
libsdl1.2debian (>= 1.2.10-1), libsm6, libsqlite0 (>= 2.8.17),
libsqlite3-0 (>= 3.4.2), libstdc++6 (>= 4.2.1-4), libx11-6, libxcursor1
(>> 1.1.2), libxext6, libxft2 (>> 2.1.1), libxml2 (>= 2.6.27),
libxslt1.1 (>= 1.1.20), libxtst6, unixodbc (>= 2.2.11-1), zlib1g (>=
1:1.2.3.3.dfsg-1)
Description: Paquete monolitico Gambas2. [/code]

Saludos


-----------------------------------
abarzuaf
Martes, 08 Diciembre 2009, 01:45

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
Ok, entonces habría que probar en una maquina que no tenga una instalación de Gambas.
Bueno, a probar entonces.

Saludos


-----------------------------------
shordi
Martes, 08 Diciembre 2009, 21:20

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
Conejudo Jesús. Esto me permite migrar de una vez a la 2.18 y distribuir mis programas al resto de la empresa, que utiliza la 2.10..., creo.
Ahora sólo falta automatizar el proceso con un par de scripts bien diseñados...


-----------------------------------
jguardon
Martes, 08 Diciembre 2009, 22:18

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
Espera un poco... he encontrado algo que no me gusta.

Después de montar Ubuntu en virtualbox totalmente limpio, he seguido los mismos pasos que describo arriba y no funciona. No se abre el programa porque no encuentra el acceso al intérprete que en sí mismo busca en /usr/bin/env gbr2. Ese es al menos el sheebang que tienen todos los ejecutables gambas.
Entonces habrá que añadir o exportar la ruta donde está nuestro intérprete a las variables de entorno de linux. Esto me lleva a pensar que la mejor solución podría ser llamar a nuestro ejecutable gambas desde un bash script donde previamente hayamos configurado nuestras variables.

De este modo, el script sin extensión con permisos de ejecución podríamos ubicarlo en el path (por ejemplo /usr/bin  ó /usr/local/bin) y nuestro programa, librerías e intérprete en la ubicación que queramos siguiendo los pasos del tutorial. Hay que tener en cuenta, que el script deberá reflejar las rutas absolutas.

Podría ser algo así, aunque no lo he probado:

[code linenumbers=false syntax=bash]#!/bin/sh
export PATH=/my/gambas/interpreter #path al intérprete
export GB_DIR=/my/gambas/dir 
#si exportamos aquí GB_DIR ya no hace falta hacerlo en el IDE
exec /my/application.gambas #ejecutamos nuestro prog.[/code]

Shordi, anímate y realiza algunas pruebas, a ver si entre todos lo dejamos bien claro este asunto.

Saludos


-----------------------------------
shordi
Martes, 08 Diciembre 2009, 23:48

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
Ese bash es el mismo que aconseja Benôit en su correo, creo.
Pero falta el export de las LD_LIBRARYS...
[quote]Shordi, anímate y realiza algunas pruebas, a ver si entre todos lo dejamos bien claro este asunto. [/quote]
Ya quisiera yo, pero hasta fin de año al menos, estoy atrapado. De repente nuestro proveedor de internet se ha hundido y he tenido que contratar un VPS a toda prisa en los USA. Ahora estoy migrando como loco los portales que manejamos, las bases de datos, los repositorios... etc. etc. En otras palabras, el I+D queda relegado, como siempre, a un segundo plano.

Cuando todo vuelva a la normalidad, hablamos del tema... si es que no lo habéis resuelto ya.

Saludos


-----------------------------------
jguardon
Domingo, 20 Diciembre 2009, 12:02

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
Actualizado el artículo en la Base de Conocimientos. Probado y funcionando a la perfección tras unas buenas "comeduras de coco".

http://foro.gambas-es.org/kb.php?mode=article&k=4

Saludos


-----------------------------------
abarzuaf
Domingo, 20 Diciembre 2009, 15:07

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
Un excelente aporte.

Saludos


-----------------------------------
shordi
Lunes, 21 Diciembre 2009, 20:25

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
Conejudo Jesús. Sólo una duda;
en lugar de 

export PATH=/opt/dfhlog/gambas2/bin:/usr/bin:/bin

¿no sería más simple...

export PATH=/opt/dfhlog/gambas2/bin:$PATH

De manera que no destruyamos el path que tenía el sistema?
Así si el usuario ya tiene alguna aplicación que haya necesitado hacer modificaciones al path, se lo respetamos...
Por lo demás, un trabajo conejudo.

Saludos


-----------------------------------
jguardon
Lunes, 21 Diciembre 2009, 22:57

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
La razón de hacerlo así es para que en caso de que el usuario tenga previamente instalado en su sistema una versión más antigua de Gambas2 o algún otro programa que haya instalado el intérprete (más antiguo), se busque primero en la carpeta donde están nuestros archivos (más recientes) y no en otra.

Todo esto suponiendo que la búsqueda en el $PATH sea secuencial, es decir, en el orden determinado en la sentencia.
(Aún así, los cambios en el $PATH son transitorios, sólo mientras dura la ejecución de nuestro programa).

En caso contrario, daría igual hacerlo de una forma u otra, pero quiero creer que es de la forma que yo digo. ¿Algún gurú nos podría aclarar esto?

Saludos


-----------------------------------
shordi
Miercoles, 28 Abril 2010, 17:16

Re: ¿Alguien Ha Probado La Variable De Entorno Que Permite Establecer Dónde Están Las Librerías?
-----------------------------------
Este tema, que me ha interesado desde el principio, ahora se me ha vuelto candente y urgentísimo.
He realizado una nueva versión del Sistema Integrado sobre el que gira toda la gestión de mi empresa en un Ubuntu 9.10, que incorpora el Gambas 2.13. 
Ahí he generado una clase que hereda la clase Connection añadiendo algunas funciones en ella y todo perfecto con el gambas 2.13. El problema es que todos los ordenadores de todas las sedes de mi empresa utilizan Ubuntu 8.04 con gambas 2.10. y ahí se me genera un error de que no puede conectar con la base de datos MySQL a través del socket.
Como a mí sí me funciona todo perfecto, imagino que el problema es la versión del gambas.
NECESITO que esto funcione, y ya, y la solución, creo, es la funcionalidad que ofrece la variable GB_DIR.
He seguido el tutorial de Jesus Guardón, pero no consigo que funcione. Me sigue dando el error de no encontrar el acceso al intérprete que sigue  buscando  en /usr/bin/env gbr2. ¿Alguien sabe como resolver eso? es como si no hiciese caso a los exports del shellscript lanzador, o yo qué sé...

Un tema paralelo es el de la creación del .deb de instalación (eso me preocupa menos, pero también es algo que hay que solucionar cuanto antes)

Gracias por anticipado.


