lunes, 8 de julio de 2024

Problemas con Gambas, solución de aquí en adelante

Últimamente trabajar con Gambas se ha vuelto complicado (por no decir exasperante). Varios problemas con las últimas actualizaciones.

Por alguna razón el componente "TrayIcon (gb.gui.trayicon)" hace que el IDE colapse.

TrayIconCapture

Actualmente estoy trabajando en un nuevo programa y el componente "WebView" se niega a funcionar de manera estable por lo que tuve que probar otra solución...

Pero estos son fallos que según he ido encontrando información en internet parecen ser bugs que se solucionarán en versiones futuras (espero).

El problema principal (y motivo de esta entrada) es el de las múltiples versiones y esto vale la pena aclarar. Mi idea al subir los proyectos a GitHub es, además de subir el código fuente, subir también los paquetes listos para su instalación (no suponer que todos tienen el IDE de Gambas instalado).

Y esto presenta una serie de problemas. Actualmente estoy utilizando Manjaro (desde hace tiempo mi distro de cabecera) cuya versión de Gambas en los repositorios, al momento de escribir esta entrada, es la 3.19.2, mientras que la versión por defecto en los repositorios de Debian y derivados (Ubuntu, Mint, etc.) es la 3.18.0, y la versión más reciente (que se encuentra en los repositorios oficiales de Gambas) es la 3.19.3.

Todo esto trae aparejado una serie de problemas al momento de intentar instalar los programas (no se encuentran las dependencias y/o las versiones correctas de los mismos) o el programa directamente no corre ("bytecode doesn't match, upgrade gambas").

Respecto a los bugs no puedo hacer mucho, como dije, espero se solucionen en versiones futuras. Y con respecto a los paquetes de instalación suelo subir siempre la versión para Arch (la que instalo en mi sistema) y la versión para Debian y derivados (.deb).

El instalador para Arch lo puedo crear desde el IDE que utilizo en Manjaro y la versión para Debian la creo desde el IDE instalado en una máquina virtual con Linux Mint (que tiene el repositorio de Gambas) esto me sirve además para probar el programa en otra distro, entre otras cosas.

¿Para qué escribo todo esto?

Porque voy a suponer que quien descargue, ya sea el código fuente o directamente el paquete instalador del programa publicado, va a tener instalado los repositorios de Gambas (esta es la mejor solución de entre todas las pruebas que estuve haciendo).

Para quienes SOLO quieren instalar el programa publicado no hace falta instalar el IDE completo, solamente tener instalado el repositorio.

Quienes, como yo, utilizan Manjaro o cualquier derivado de Arch, no tienen que hacer nada, el instalador debería funcionar correctamente.

Para quienes utilicen Debian o derivados (Ubuntu, Mint, etc.) la instalación del repositorio es sencilla:

sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt update

Link del repositorio: https://launchpad.net/~gambas-team/+archive/ubuntu/gambas3

Si el comando "add-apt-repository" no les funciona, como sería si utilizaran MX-Linux por ejemplo, lo mejor es agregar el repositorio de manera manual.

Para el caso concreto de MX-Linux por ejemplo: abren <Synaptic -> Configuración -> Repositorios> hacen click en "New" e ingresan los datos del repositorio.

Una vez ingresados hacen click en "OK" y luego en "RELOAD"

Seguramente va a saltar un error, pues no tenemos la clave pública del repositorio. 

Esto se soluciona fácil, solo deben abrir el programa "MX Arreglar claves GPG", el programa buscará la clave, y listo. 


Solo queda recargar los repositorios.

sudo apt update

Fin. Así queda solucionado cualquier problema que tengan, ya sea bajando el código fuente para usar en el IDE, o bajando el instalador todo debería funcionar bien (jinx!). Teniendo el repositorio instalado se ahorra un montón de dolores de cabeza, siempre se va a tener la versión más actualizada de Gambas.

Espero que esto les sirva, cuando esté más aceitada la creación de paquetes .appimage la cosa va a ser aún más sencilla.

Cualquier cosa dejen dejen comentario, me interesa conocer sus experiencias.

Saludos!