Gambas op Raspberry Pi 500+ Debian 13.1

Gambas selecteren

Net zoals bij versie 12 komt Gambas helaas niet voor in de aanbevolen software, en moet je bij Preferences, add/remove software zoeken naar “gambas”. We vinden versie 3.20.2, en er wordt een hele rij sub-paketten getoond. Kies de complete Visual Development Enviroenment for Gambas, en de rest zal automatisch meekomen (hopelijk). “Apply”… de flikkerende aan/uitknop verraadt de aktiviteit van de installatie. Daarna is Gambas toegevoegd in het menu “Programming”.

Installatie

Het valt op dat een aantal gambas paketten niet mee geselecteerd werden, en misschien moeten we later iets apart toevoegen, maar we proberen eerst de standaard installatie uit zonder wijziging. We sluiten softwareinstallatie en starten Gambas. Handig in vergelijking met de pi400 of pi500 is hier echt wel dat je feedback krijgt van die led, ik weet dat Gambas aan het starten is en wacht rustig af. Gambas start mooi op met een gevangenispakje (horizontaal gestreepte achtergrond zoals voorheen ook dikwijls, maar dat verdwijnt meestal als je begint te werken, of bv het venster iets kleiner zet).

Gambas 3

Ik klik de Tip of the day weg, en ik kan kiezen uit verschillende mogelijheden om een nieuw project te starten: CLI, desktop, web….

  • new project, new commandline application, en main wordt automatisch gevuld met Print "Hello world"
  • . Run toont idd .. maar het flitst snel over het scherm. Kies onderaan het Console icoon om die terug zichtbaar te maken.
  • File, New project, Graphical. FMain een knop geven en een lijntje code
    Public Sub  Button1_Click()
    .
      Message.Info("Hello Gambas world")
    End

Fijn dat het installeren zo vlot verloopt. Later eens proberen een bestaand project te openen met wat meer code en libraries en zo…

.

Gambas3 op Raspberry Pi 5 Debian12

  • Raspberry Pi 5 Model B Rev 1.0 met 4 GB geheugen
  • Systeem: Bookworm + updates 20 okt 2025: Linux 6.12.47+rpt-rpi-2712 (Debian 12.2.0-14+deb12u1). ps: dus nog geen 13-Trixie Raspberry Pi OS
  • Spijtig genoeg is Gambas niet aanwezig in “Recommended software”; daar duikt wel Visual Studio Code op.
  • Preferences, Add/remove software; zoek “Gambas”: gambas3-3.18.0-4 aanwezig
  • Om ineens alles te installeren: “Complete visual development environment for Gambas” selecteren (niet de “Visual development environment; is alleen de IDE).
  • Gambas staat in menu onder “programming”, maar start niet. Op commandolijn gambas3 geeft foutmelding: “Cannot find interface or library “gb.gtk3.wayland”
  • Add/remove software; die staat inderdaad af; selecteer, installeer met “Apply”.
  • Gambas start nu wel uit het menu, IDE start (met horizontale strepen maar dat gaat terug weg).
  • Nieuw CLI project, hello world: werkt.
  • Nieuw Graphical application, button en message: werkt.

MariaDb verbinding zonder SSL

Cannot open database: TLS/SSL error: SSL is required, but the server does not support it

Sinds ongeveer OpenSUSE v. 15.6 à 16.0 dook het probleem op dat Gambas3 programma’s geen verbinding meer konden maken met een bestaande mariadb database op een computer in het lokaal netwerk, zonder SSL (zie Database verbinding gebroken). Ik vond het probleem niet bij Raspbian (Debian), voor andere distributies weet ik niet, misschien Red Hat?

Het probleem was terug te brengen tot de stap naar een nieuwe mariadb client lib:

libmariadb3 v. 3.4.5

… waarbij het standaard gedrag van de MariaDB Connector/C 3.4 veranderde.

De gewone “skip-ssl” volstaat niet meer (Unable to disable TLS verification when using mariadb-connector-c >= 3.4.0).

Dit kan voor allerlei software die dit soort databaseverbinding maakt een fout/verandering opleveren; openoffice/libreoffice, python programma’s, …. niet alleen voor Gambas.

Omzeilen

Voor Gambas3 kan je het probleem omzeilen door een combinatie van

  • instellingen in een mariadb configuratiebestand op de client computer (waar het gambas programma draait)
  • aanroepen van de juiste opties vanuit je code voor het maken van de verbinding.

Mariadb client configuratie

De instellingen gebeuren normaal in het onzichtbare bestand .my.cfg in de home directory van de gebruiker:

~/.my.cfg

Daarin staat misschien al de instelling om op de CLI de SSL te omzeilen:

[client]
skip-ssl = true

Maak een nieuwe paragraaf aan, bv met de titel “gambasfixnossl” (nadien moet je naar deze header verwijzen in je code):

[gambasfixnossl]
ssl-verify-server-cert=0
ssl-mode=DISABLED

Gambas3 connection opties

Je hebt een combinatie van connection opties nodig om de fout te vermijden. Dit stond al in mijn code*:

With hConnection
.Host = Settings["Connection/Host"]
.User = Settings["Connection/User"]
.Name = Settings["Connection/Name"]
.Password = Settings["Connection/Password"]
.Type = Settings["Connection/Type", "mysql"]
End With

En dit heb ik er nu bijgevoegd:

  ...
.Options["READ_DEFAULT_GROUP"] = "gambasfixnossl"
.Options["PROTOCOL"] = 1
.Options["SSL_MODE"] = 0
.Options["SSL"] = False
.Options["CLIENT_FLAGS"] = 0
.Options["MYSQL_OPT_SSL_ENFORCE"] = 0
End With

Getest

  • Werkt op openSUSE Leap 16.0
  • Werkt op Tumbleweed 20251013

Nota’s: (*) Settings gebruik, Apart mariadb configuratiebestand, .. Continue reading

Database verbinding gebroken?

Database verbindingsprobleem

De combinatie Gambas 3.20+ met openSUSE Tumbleweed en/of Leap 15.6 geeft een probleem met bestaande gambas3 programma’s bij de verbinding met een mysql/mariadb database, zowel een oude als een recentere, op verschillende systemen:

  • Server version: 10.11.13-MariaDB-0ubuntu0.24.04.1 Ubuntu 24.04.
  • Server version: 10.0.32-MariaDB SLE 12 SP1 package =openSUSE.

Vastgesteld dat het niet (meer) werkt bij de combinatie OpenSUSE/Gambas … (zie verder welke versies nog wel werkten)

  • Leap 15.6 + Gambas 3.20.4 + (?)
  • Tw 20250617 + Gambas 3.20.4 + (?)
  • Tw 20250616 + Gambas 3.20.4-12.4 + libmariadb3 v. 3.4.5-2.1 + mariadb 11.8.2-1.1 (PDCz2) (gambas uit home:munix9 / openSUSE_Tumbleweed)
  • Tw 20251007 + Gambas 3.21.0-1.1 + libmariadb3 v. 3.4.5-2.1 + mariadb 11.8.3-4.1 (PDCz2) (gambas uit home:munix9 / openSUSE_Tumbleweed)
  • Tw 20250730 + Gambas 3.20.4-15.1 + libmariadb3 v. 3.4.5-2.1 + mariadb 11.8.2-1.1 (pcb4)
  • Tw 20250923 + Gambas 3.20.99 + libmariadb3 v. 3.4.5-2.1 + mariadb 11.8.3-MariaDB x86_64 ElDskM

Update: 2025 09 26 : Tumbleweed 20250617 krijgt een update inclusief Gambas…dat loste het niet op.

Vanuit de IDE kan je in de console van de IDE (F11) de foutmelding zien:

Try hConnection.Open: Cannot open database: TLS/SSL error: SSL is required, but the server does not support it

deze zag ik ook in bepaalde versiecombinatie:

gb.db.mysql: warning: disabling SSL connection is not supported with your version of MySQL client library.

De fout lijkt voor te komen vanaf de versie waar de client standaard SSL probeert te gebruiken (zie ook MySQL/MariaDb zonder ssl?)

Maar manueel met de mariadbclient kan je er wel voorbij met –skip_ssl of met skip-ssl=true in het .my.cnf bestand; dat bestand heeft geen invloed op de werking van gambas.

Gambas versie?

Ik vermoed dat het vooral Gambas is, Het valt me op dat Gambas vanaf versie 3.20 wijzigingen heeft aan de database componenten. Er is nu zowel de oorspronkelijke gb.db die “grijs staat” om aan te geven dat die “deprecated” is. En er is een gb.db2 beschikbaar die “grotendeels backward compatible” is…

In Gambas 3.18.4 (openSUSE 15.4) is de gb.db component nog aanwezig (componenten in gebruik naast gb.form, gb.gui, gb.image en gb.setttings; geen extra gd.db.mysql of zo geselecteerd). In nieuwe gambas alleen nog gb.db2.

Upd: mijn oorsponkelijke idee dat het aan gb.db2 lag lijkt niet te kloppen. Het heeft waarschijnlijk meer met de mariadb client kant te maken.

Upd: Ik onderzoek nog welke de mariadb client library versies zijn…bv :

  • Tumbleweed 20250730 = libmariadb3 3.4.5-2.1
  • Leap 15.5 = 3.1.22-150000.3.36.

Suse versie? Database client versie?

Deze combinaties werken nog wel Leap=OpenSUSE, Tw= TumbleweedLeap 15.4 + Gambas 3.18.4 + libmariadb3 v. 3.1.22-150000.3.36.1 + mariadb 15.1 Distrib 10.6.15-MariaDB (lapt)2

Leap 15.5 + Gambas 3.19.6 (**) + libmariadb3 v 3.1.22-150000.3.36.1 + mariadb 15.1 Distrib 10.6.20-MariaDB (E)

Leap 15.5 + Gambas 3.14.3 (1) + libmariadb3 3.1.22-150000.3.36.1 + mariadb 10.6.15-150400.3.29.3 (UTM imac) (1)uit openSUSE:Backports:SLE-15-SP2

Leap 15.5 + Gambas3.19.3-lp155.2.1 (munix9) + libmariadb3 v. 3.1.22-150000.3.36.1 + mariadb-client ver 15.1 Dirstrib 10.6.15-150400.3.29.3 (grd)

Leap 15.6(*) + Gambas 3.20.2 + libmariadb3 v. 3.1.22-150600.16.3 + mariadb 15.1 Distrib 10.11.9-MariaDB (Villers)

Tw2024… + Gambas 3.19.x

Tw20250216 + Gambas 3.20.99

(1) https://software.opensuse.org/package/gambas3, Niet-ondersteunde distributies, SUSE:SLE-15:GA, openSUSE:Backports:SLE-15-SP2 : 3.14.3

!(*) Leap 15.6 + Gambas3 3.20.2 : gb3.20.2-lp156.10.1 maar met “oude” gb.db, gb.db.mysql geselecteerd (die doorgeschrapt en grijs staan bij componenten) en zonder ~/.my.cnf en met een update naar gambas 3.20.4-lp156.20.2 die klaarstaat maar (nog) niet uitgevoerd is, beide van home:munix9 als bron. Misschien een openSUSE 15.5 die een upgrade kreeg naar 15.6? Met een native 15.6 werkt het niet.

(**) Leap 15.5 (iso van 2023) + download gambas-3.19.16.tar.gz en gecompileerd van source. Daarna start Gambas niet als root, wel als user. Bij het maken van een nieuw database project krijg je de componenten (en de databaseverbinding werkt):

  • gb.db
  • gb.db.form

Raspbian

Ter vergelijking, werkt ok in Raspbian :

  • Raspbian 11: 6.1.21 + Gb 3.15.2 + mariadb-10.5 + libmariadb3 1:10.5.23-0+deb11u1 (libmariadb3_10.5.29-0+deb11u1_armhf.deb)
  • Raspbian 11 6.1.21 + Gb 3.15.2 + mariadb-10.5 + libmariadb3 1:10.5.26-0+deb11u2 (libmariadb3_10.5.26-0+deb11u2_armhf.deb)

Dringendste is: hoe bestaande programma’s terug aan het werk krijgen? Oude distributies installeren? Kan alleen de mariadb client een oude versie blijven?

Upd: het probleem kan omzeild worden met een combinatie van configuratie bestand en connectie-opties in gambas: MariaDb verbinding zonder SSL.

Gambas3 op Tumbleweed 202507..

Ik ben overgestapt op Tumbleweed en Gambas 3.20.4 na een mislukte installatie op openSUSE 15.6

Tumbleweed.. 14/6/2025 (0613)

Distributions

openSUSE Tumbleweed

Education Experimental 3.14.3

home:gambas:stable Community 3.20.4+20250520+1

Dit lukte en deze is in gebruik: 3.20.4.

Enkel kijken of

  • ik deze kan updaten zonder Gambas te verliezen
  • Ik dit kan herhalen op een nieuwe Tumbleweed installatie…

Tumbleweed 0702 lukt het in eerste instantie niet met de 3.20.4 uit de community repository. Ik doe eerst een zypper dup.

Er is nog de “master” versie 3.20.99…

Gambas verstaat Note, Todo en Old

Note en Todo worden herkend (upd: en Fixme*)

Ik heb een beetje toevallig ontdekt dat Gambas een mooi overzichtje geeft van bepaalde opmerkingen die ik in de broncode heb gemaakt. Ini het deel van het venster onderaan waar de foutmeldingen van het compileren komen, kan je ook kiezen om de “Notes” te zien. Selecteer het Notes icoon in het rijtje “Konsole”, “Waarschuwingen”, “Notes”, “Versiecontrole (Git)”.

In vier kolommen krijg je een ovezicht van opmerkingen (commentaren) die je in je broncode gemaakt hebt met een bepaald voorvoegsel, bv “Todo” of “Note”. NOTE’s worden in het zwart getoond, TODO’s in het groen, FIXME in het rood.

Type | Klasse | Lijn | Tekst

NOTE | Klassenaam1 | Lijnnummer | Tekst van de commentaar

TODO | Klassenaam2 | Lijnnummer | Tekst van de commentaar

FIXME | Klassenaam3 | Lijnnummer | Tekst van de commentaar

Als je op een lijn klikt ga je onmiddellijk naar die code in de editor. Zeker handig als je een onafgewerkt stuk code aangeduid had met Todo, en het nadien vergeten was. Andere commentaren die in mijn code staan verschijnen niet, zoals “reload list”, “ok” enz.

Bestandsnaam met .old wordt herkend

Even toevallig ontdekt: ik had een betere versie gemaakt van een Form en hernoemde via mijn bestandbeheer (dus niet in de Gambas IDE) de oorspronkelijke versie naar “… .old”; tot mijn verrassing werd dat .old bestand in de IDE zichtbaar met een vuilbakje ernaast.

Ik had beide bestanden van de Form FHtmlOut hernoemd naar FHtmlOut.Form.old en FHtml.Class.old, en dan geeft hij die beide bestanden weer maar met een rood vuilbakje ervoor.
Je kan dat hernoemen niet in de IDE doen, dan wordt de nieuwe naam geweigerd wegens de “.” in de naam (het zou handig zijn moest de IDE de nieuwe .old naam aanvaarden en zelf beide bestanden hernoemen, en bv ook ineens de code controleren of het nergens meer aangeroepen wordt)

Gambas3 op openSUSE 15.6?

Kort: Ondertussen werkt het perfect ok op Leap 15.6.

(Oorspronkelijk niet gelukt en toen overgestapt op Tumbleweed en Gambas 3.20.4)

In OpenSUSE 15.5 was Gambas3 niet aanwezig (op software.opensuse.org; wel ooit op een andere manier aan de praat gekregen). Maar na een update naar openSUSE 15.6 kunnen we daar weer wel op een “community” package 1-klikken om te installeren of om te bewaren als een installatiebestand: gambas3.ymp

home:munix9 Community 3.20.4

home:munix9:unstable Community 3.20.99+git.20250606….

Na aanvankelijke installatie daarvan is gambas er (in het menu bv) nog niet (misschien wel de runtime), en kan je verder gambas installeren uit het package management van Yast: gambas3. Die is daarna te vinden in het (klassiek) menu onder developement.

In de huidige (2025-08-08) installatie van OpenSUSE: Gambas 3.20.4-lp156.16.1 werkt het perfect, ondanks de problemen in een vroegere installatie op 15.6.


Oorspronkelijk: Helaas start Gambas3 met een fout:

 
This application has raised an unexpected
error and must abort.

Unable to find method Application_Log in class Project. Symbol not found.

[gb.jit].CCompilation.Wait.247

Even checken vanop de commandline:

**  
** OOPS! INTERNAL ERROR. Program aborting, sorry! 🙁
** Unable to compile JIT source file
**  
** [gb.jit].CCompilation.Wait.247: Unable to find method Application_Log in class Project. Symbol not found
**  
** Please send a bug report to the gambas bugtracker [1] or to the gambas mailing-list [2].
** [1] https://gambaswiki.org/bugtracker
** [2] https://lists.gambas-basic.org/#user
**

gb.jit: error: unable to compile JIT pointers of 'gb.form.terminal': 
| gcc: error: unrecognized command line option ‘-std=gnu17’; did you mean ‘-std=gnu11’?
|  

**  
** OOPS! INTERNAL ERROR. Program aborting, sorry! 🙁
** Unable to compile JIT source file
**  
** [gb.jit].CCompilation.Wait.247: Unable to find method Application_Log in class Project. Symbol not found
**  
** Please send a bug report to the gambas bugtracker [1] or to the gambas mailing-list [2].
** [1] https://gambaswiki.org/bugtracker
** [2] https://lists.gambas-basic.org/#user
**

Dit was dus geen succes, en ik probeer met Tumbleweed.. 14/6/2025

Distributions

openSUSE Tumbleweed

Education Experimental 3.14.3

home:gambas:stable Community 3.20.4+20250520+1

Gambas3 start alvast, ik check verder of bestaande programma’s werken…

Gambas en GPIO op Raspberry Pi

Een poging om commandline gpio te gebruiken vanuit/om te leiden naar een Gambas programma.

Library "/user/local/libpigpio"

Public Sub testGPIO()

Dim sAnswer As String
Dim sCommand As String

sCommand = "gpio -h"

TRY SHELL sCommand TO sAnswer

TextAreaOut.Text = sAnswer

End

Ik ga er van uit dat je een Form hebt, FMain, waar je deze code in plakt.

Op de Form heb je een TextAreaOut gemaakt.

Je kan op het scherm dan een button zetten, die deze code aanroept.

Public Sub Button1_Click()

testGPIO()

End

Hetzelfde kan je doen met gpio -g readall in sCommand; dat leest de pinnen uit naar een tabel met informatie en pin-nummers (incl BCM nummers). Enz…

Gambas3 op Raspberry Pi 500 (3)

In tegenstelling tot een voorgaande installatie van Gambas op een Raspberry Pi 5 (2), geraak ik hier toch verder op de 500:

Gambas3 uit de software installer van het Raspberry Pi menu gekozen (IDE en bijhorende automatisch geselecteerd). Gambas staat in het menu maar start niet – komt bekend voor (2). Foutmelding idd iets met Wayland.

Als je apart de Wayland module bij-selecteert, start Gambas3 daarna wel op maar toont van die rare horizontale lijnen als een defect televisietoestel.

Ik kan het menu “Project” niet oproepen in de IDE. Nee dat is de desktop, je moet eerst het vorige menu sluiten.

  • een CLI applicatie: “Hello World” werkt, compileren tot testCLI.gambas werkt, kan opgeroepen worden vanop de commandline, kan inhoud .txt bestand tonen.
  • een GUI applicatie: Knop en Message, werkt, kan ook .txt bestand openen en tonen.

Nog even afwachten en verder gebruiken, maar het lijkt dat de meeste problemen van (2) opgelost zijn.

Gambas3 updates v.a. 2024

Zie ook
Gambas3 updates 2018-2023.
Gambas2 updates

Gambas updates (v.a. ong dec 2023) – 2024-2025:
(Vastgesteld ,vooral op OpenSUSE. Algemene “Release page“, voor Ubuntu zie bv hier)

2025-10-13
OpenSUSE Tumbleweed : Gambas3 v. 3.21.0-1.2  (munix)

2025-02-18
OpenSUSE Tumbleweed : Gambas3 v. 3.20.99  (3.20.99+git.20250216)

2025-01-23
OpenSUSE Tumbleweed : Gambas3 v. 3.20.0-0.8.1

2024-11-05
OpenSUSE 15.6: Gambas3 v. 3.19.5-lp156.2.1
build 19 oktober 2024 : Gambas is terug van weggeweest bij Suse

2024-08-19
OpenSUSE 15.5: Gambas3 verwijderd?
OpenSUSE Tumbleweed: Gambas3 verwijderd?
Niet meer in de repositories aanwezig, en de IDE kan door een update zelfs gedeinstalleerd worden! Zie Waar is Gambas…
– Hopelijk een tijdelijk (vakantie-) probleem. (*)

– upd: * Zie Gambas is terug

2024-07-28
OpenSUSE 15.5: Gambas3 v 3.19.3-lp155.2.1

2024-07-05
OpenSUSE 15.5: Gambas3 v 3.19.3-lp155.1.1

2024-05-31
OpenSUSE 15.5: Gambas3 v 3.19.2-lp155.1.2

2024-05-31
OpenSUSE 15.5: Gambas3 v 3.19.2-lp155.1.1

2024-03-20
OpenSUSE 15.5: Gambas3 v 3.19.1-lp155.2.1

2024-03-17
OpenSUSE 15.5: Gambas3 v 3.19.1-lp155.1.1

2024-03-12
OpenSUSE 15.5: Gambas3 v 3.19.0-6.3

??
OpenSUSE 15.5: Gambas3 v 3.19.0-5.3

2024-02-08
OpenSUSE 15.5: Gambas3 v 3.19.0-lp155.10.1
Het lijkt me dat hierna de icoontjes zijn veranderd. Ze zijn eenvoudiger en kleurlozer gewordenm niet echt een verbetering…

2024-01-15
OpenSUSE 15.5: Gambas3 v 3.18.4-lp155.10.1