|
Página 2 de 3
|
Autor |
Mensaje |
fabianfv
Analista Programador
Registrado: Octobre 2009
Mensajes: 495
Edad: 50 Ubicación:
|
Re: Gambas-Portable
Pero el uso de GB_DIR no es suficiente, ni para distribuir un programa ni para hacer un gambas Portable, porque los componentes de gambas dependen de bibliotecas que pueden o no estar instaladas en el sistema destino.
Entonces, habría que escribir un script que instale las dependencias que tienen los componentes de gambas. Ese script debería lidiar con el problema de poder instalar esas bibliotecas en diferentes distribuciones.
Aunque en tu caso parece ser que sólo sería para Ubuntu, aún podría haber diferencias entre diferentes versiones de Ubuntu.
Para un gambas Portable, realmente portable en cualquier distribución, habría que hacer un trabajo mucho más importante. No obstante, habría que enfatizar el uso de paquetes virtuales. Tal vez, también se podría crear un metapaquete que instale dichas bibliotecas en vez de un script.
No sé si esta estrategia sería la adecuada. La alternativa es incluir todas las bibliotecas de las que los componentes de gambas dependen, en la carpeta de distribución.
¿Alguien puede echar un poco de luz sobre esto? ¿JGuardon?
=================== Cómo programar con Gambas
Speed Books: informática libre.
|
#11 Sabado, 13 Agosto 2011, 15:43 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Gambas-Portable
Pero el uso de GB_DIR no es suficiente, ni para distribuir un programa ni para hacer un gambas Portable, porque los componentes de gambas dependen de bibliotecas que pueden o no estar instaladas en el sistema destino.
Eso es cierto. Sin embargo debemos asumir que ciertas librerías ya se encuentran en el sistema. Es difícil saberlo, pero yo estuve distribuyendo mi programa así un tiempo sin mayores problemas.
Para un gambas Portable, realmente portable en cualquier distribución, habría que hacer un trabajo mucho más importante. No obstante, habría que enfatizar el uso de paquetes virtuales. Tal vez, también se podría crear un metapaquete que instale dichas bibliotecas en vez de un script.
No sé si esta estrategia sería la adecuada. La alternativa es incluir todas las bibliotecas de las que los componentes de gambas dependen, en la carpeta de distribución.
¿Alguien puede echar un poco de luz sobre esto? ¿JGuardon?
Los paquetes virtuales o metapaquetes son al fin y al cabo paquetes de instalación que dependen de otros paquetes que deben de ser instalados. Eso rompe el concepto de portabilidad, puesto que el usuario no puede o no quiere instalar nada.
Si lo que queremos es algo realmente portable, no hay más remedio que averiguar las dependencias de todo gambas e incluir las librerías compartidas en la carpeta de distribución. Por supuesto, no creo que haya, o yo al menos no lo conozco, un sistema que detecte todas las dependencias... ¿o si? ¿Os acordáis de CDE?
Yo empezaría por hacerlo funcionar en mi sistema y luego ir probando en distintas distribuciones hasta que no aparezcan errores. CDE puede ayudar a encontrar las bibliotecas compartidas que se usan, aunque finalmente CDE no sea lo más adecuado para hacer la distribución por el volumen del paquete que genera.
Pensad que por ejemplo Google chrome y otros, utilizan ese sistema para sus aplicaciones para que no dependan de nada, salvo que ellos al final lo que hacen es copiar los archivos a una carpeta del sistema, generalmente /opt. Pero es el mismo principio de portabilidad. Ellos asumen que ciertas libs ya se encuentran en todos los sistemas modernos y sólo incluyen las que pueden o no pueden estar.
Es cuestión de ir probando.
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#12 Sabado, 13 Agosto 2011, 16:46 |
|
|
fabianfv
Analista Programador
Registrado: Octobre 2009
Mensajes: 495
Edad: 50 Ubicación:
|
Re: Gambas-Portable
¿Y qué pasa con las diferentes versiones de las bibliotecas? Es esperable que las interfaces de las bibliotecas se mantengan entre diferentes versiones, pero me parece que se pueden presentar al menos dos problemas que dadas determinadas circunstancias provocarían que el gambas portable no funcione.
- Supongamos que un componente de gambas utiliza una característica particular de una determinada versión de una biblioteca y se pretende usar el "gambas portable" en un sistema que cuenta con una versión anterior.
- A veces las interfaces de las bibliotecas cambian, de modo que una nueva versión de una biblioteca es incompatible con una anterior.
Ambas situaciones puede que sean improbables y por lo tanto puedan ser obviadas. De todos modos, creo que habría que estudiar el tema más en profundidad.
Citar:
Eso rompe el concepto de portabilidad, puesto que el usuario no puede o no quiere instalar nada.
. . .
Pensad que por ejemplo Google chrome y otros, utilizan ese sistema para sus aplicaciones para que no dependan de nada, salvo que ellos al final lo que hacen es copiar los archivos a una carpeta del sistema, generalmente /opt. Pero es el mismo principio de portabilidad. Ellos asumen que ciertas libs ya se encuentran en todos los sistemas modernos y sólo incluyen las que pueden o no pueden estar.
Me parece que en el caso de un entorno de desarrollo la cosa es más complicada que con un navegador web.
Si al usar el gambas portable en un sistema que no es el propio, se confiara en que el sistema tiene instaladas todas las bibliotecas necesarias para trabajar con gambas, la consecuencia sería una gran dificultad o imposibilidad de usarlo.
Por ejemplo, puede que deba usar el G.P. en un sistema y ese sistema tiene instalado no sé... digamos mysql, pero yo quiero usar sqlite3. Que tal si quiero usar gb.cairo o gb.sdl. Son muchas las bibliotecas que no se puede dar por sentado que estarán instaladas en un sistema que no es el propio, precisamente porque estamos hablando de un entorno de desarrollo de propósito general.
Entonces, en ese caso la alternativa sería instalar manualmente las bibliotecas en el sistema huésped.... eso también va en contra del concepto de portabilidad.
En consecuencia, no creo que se pueda confiar en que el sistema huésped tenga instaladas muchas de las bibliotecas que son necesarias para usar gambas con amplitud, porque precisamente muchas de ellas no son bibliotecas básicas de cualquier sistema.
=================== Cómo programar con Gambas
Speed Books: informática libre.
|
#13 Sabado, 13 Agosto 2011, 22:01 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Gambas-Portable
Citar: ¿Y qué pasa con las diferentes versiones de las bibliotecas? Es esperable que las interfaces de las bibliotecas se mantengan entre diferentes versiones, pero me parece que se pueden presentar al menos dos problemas que dadas determinadas circunstancias provocarían que el gambas portable no funcione.
ese problema fue solucionado hace mucho tiempo
las diferentes versiones de las bibliotecas no se reemplazan se guardan con el nombre y numero de versión ejemplo libbz2.so.1.0
en el caso de que el numero de versión no exista no funcionara
es cosa de crear un gambas portable con un script para que use preferentemente sus propias lib y no las del sistema
por supuesto juntar todas las librerías necesarias pueden ir a packages debian y el resto es prueba y error
para sus aplicaciones portables puede hacer lo mismo solo que es un procedimiento tedioso
Citar:
Supongamos que un componente de gambas utiliza una característica particular de una determinada versión de una biblioteca y se pretende usar el " gambas portable" en un sistema que cuenta con una versión anterior.
en ese caso debería provocar un error de xyz.so.123 not found o era not load no recuerdo exctamente
Citar: Entonces, en ese caso la alternativa sería instalar manualmente las bibliotecas en el sistema huésped.... eso también va en contra del concepto de portabilidad.
En consecuencia, no creo que se pueda confiar en que el sistema huésped tenga instaladas muchas de las bibliotecas que son necesarias para usar gambas con amplitud, porque precisamente muchas de ellas no son bibliotecas básicas de cualquier sistema.
si aun no fuera suficiente aun podemos ejecutar gambas en un entorno chroot y eso seria 99.99999% portable
solo usariamos la X y el kernel del sistema
calculo entre 100 y 300 mb con todo a diferencia de usar un live completa como la de 4gb que es enorme
ahora porque 99.99999% aun es probable que exista una incompatibilidad a nivel de glibc y es posible que no funccione
o que la caracteristica que necesitemos tenga que tener algun tipo de integración con el sistema
de todas maneras mas adelante tengo planificado ejecutar aplicaciones echas en gambas en una instalación mínima solo lo basico y la X
nada de gnome ni esas cosas la idea es boot super rapido y usar equipos antiguos de cuando venian con 32 o 64 mb de ram
última edición por codificador el Domingo, 14 Agosto 2011, 00:32; editado 1 vez
|
#14 Domingo, 14 Agosto 2011, 00:31 |
|
|
geaplanet
Programador
Registrado: Febrero 2010
Mensajes: 102
Edad: 43
|
Re: Gambas-Portable
¿Y no se podrían incluir todas esas librerías que usa gambas en una carpeta /opt/gambas3/lib y hacer que el sistema vea esa carpeta como propia para no tener que instalar los paquetes de la distro de turno? creo que eso se podría hacer con ldconfig o alguna variable de entorno.
CDE no lo conocía, pero me parece fabuloso, es prácticamente lo que hace ermine, pero mejor, open y free. Puede que vayan por ahí los tiros.
Lo del chroot también me parece un buen invento, exceptuando que necesitarás ser root cada vez que quieras ejecutarlo ¿no?
Y no se dispararía el consumo de ram usando una jaula? Ten en cuenta que tendrías muchas librerías del sistema cargadas en memoria por segunda vez en el entorno chroot. Pero bueno, supongo todo eso son cosas a valorar una vez que el invento funcione.
Si tienes alguna duda sobre cómo cargar programas solo con las X, coméntamelo que tengo algo de experiencia en ese terreno.
|
#15 Domingo, 14 Agosto 2011, 10:22 |
|
|
fabianfv
Analista Programador
Registrado: Octobre 2009
Mensajes: 495
Edad: 50 Ubicación:
|
Re: Gambas-Portable
Citar:
de todas maneras mas adelante tengo planificado ejecutar aplicaciones echas en gambas en una instalación mínima solo lo basico y la X
nada de gnome ni esas cosas la idea es boot super rapido y usar equipos antiguos de cuando venian con 32 o 64 mb de ram
Es una idea que me parece muy interesante. Yo hasta ahora lo que he hecho es usar LXDE en Debian o Ubuntu haciendo un control fino de los paquetes que se instalan o tirando de LTSP. Pero en circunstancias particulares depender sólo de las X y un conjunto mínimo de bibliotecas gráficas puede ser la solución a unos cuantos problemas.
=================== Cómo programar con Gambas
Speed Books: informática libre.
|
#16 Domingo, 14 Agosto 2011, 16:50 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Gambas-Portable
¿Y no se podrían incluir todas esas librerías que usa gambas en una carpeta /opt/gambas3/lib y hacer que el sistema vea esa carpeta como propia para no tener que instalar los paquetes de la distro de turno? creo que eso se podría hacer con ldconfig o alguna variable de entorno.
CDE no lo conocía, pero me parece fabuloso, es prácticamente lo que hace ermine, pero mejor, open y free. Puede que vayan por ahí los tiros.
exactamente revisa tus variables de entorno
pero
tal ves usar CDE sea mucho mas fácil y rápido
Lo del chroot también me parece un buen invento, exceptuando que necesitarás ser root cada vez que quieras ejecutarlo ¿no?
Y no se dispararía el consumo de ram usando una jaula? Ten en cuenta que tendrías muchas librerías del sistema cargadas en memoria por segunda vez en el entorno chroot. Pero bueno, supongo todo eso son cosas a valorar una vez que el invento funcione.
si pero muy poco comparado con una maquina virtual tipo vbox
ademas lo mas pesado es la X y sus amigos y eso no estaría dentro del chroot por lo que no se cargaría 2 veces
Si tienes alguna duda sobre cómo cargar programas solo con las X, coméntamelo que tengo algo de experiencia en ese terreno.
recuerdo algo como export display .... y luego .....
Citar:
de todas maneras mas adelante tengo planificado ejecutar aplicaciones echas en gambas en una instalación mínima solo lo basico y la X
nada de gnome ni esas cosas la idea es boot super rapido y usar equipos antiguos de cuando venian con 32 o 64 mb de ram
Es una idea que me parece muy interesante. Yo hasta ahora lo que he hecho es usar LXDE en Debian o Ubuntu haciendo un control fino de los paquetes que se instalan o tirando de LTSP. Pero en circunstancias particulares depender sólo de las X y un conjunto mínimo de bibliotecas gráficas puede ser la solución a unos cuantos problemas.
no solo el mínimo de bibliotecas por ejemplo cualquier bibiloteca pero solo usas la biblioteca que necesitas cuando las necesitas
no necesitas tener todo gnome cargado y funcionando si no lo vas a usar
|
#17 Domingo, 14 Agosto 2011, 17:49 |
|
|
geaplanet
Programador
Registrado: Febrero 2010
Mensajes: 102
Edad: 43
|
Re: Gambas-Portable
¿Alguien ha trasteado antes con CDE?
|
#18 Domingo, 14 Agosto 2011, 18:28 |
|
|
geaplanet
Programador
Registrado: Febrero 2010
Mensajes: 102
Edad: 43
|
Re: Gambas-Portable
Bueno, os cuento un poco la película. He estado trasteando con CDE y al parecer su funcionamiento básico es crear una especie de chroot a nivel de usuario con la particularidad de que localiza y te coloca en una carpeta todos los archivos y dependencias que se abren o modifican cuando se ejecuta un programa.
Lo primero que hice fue probar GAMBAS2. No va, me dice algo así como: ERROR: #49: Not a directory: /usr/bin/gambas2/.project
Seguí probando y todos funcionaban bien hasta que llegué a Openshot. Le mandé un email al desarrollador de CDE, Philip Guo, y me comentó esto:
I've made a bunch of bugfixes in a branch named "strace-46" ...
https://github.com/pgbovine/CDE/tree/strace-46
to access it, check out the code from GitHub and type:
git checkout --track origin/strace-46
That branch works a LOT better than the main branch, so please give it a try and let me know if your bug is resolved.
Así lo hice. Openshot funcionó perfectamente, pero gambas sigue diciendo lo mismo, así que le volveré a escribir a ver si se le ocurre algún modo de solucionarlo.
A ver si logramos el ansiado GAMBAS-PORTABLE.
|
#19 Lunes, 15 Agosto 2011, 15:13 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Gambas-Portable
y si pruebas primero el runtime y un holamundo.gambas texto y otro grafico
el runtime lo sacas directo del deb runtime gambas
|
#20 Lunes, 15 Agosto 2011, 22:20 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 2 de 3
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|