Gambas 3 voorbeelden niet meer meegeleverd

Sedert een tijd zijn de Gambas voorbeeldprojecten niet meer meegeleverd met de Gambas 3 IDE. In de plaats daarvan is een downloadsysteem voorzien. Een lijst geeft weer welke voorbeeldprojecten beschikbaar zijn. Met een eenvoudige klik kan je ze afhalen. Dit zorgt ervoor dat de updates van de voorbeelden onafhankelijk kunnen gebeuren van de Gambas3 updates, en dat de Gambas3 installatie kleiner wordt (door de vb weg te laten).

Nadeel is wel dat als je ergens off-line zit te werken, je niet aan voorbeelden kan (behalve deze die je al gedownload had).

Bovendien zijn er nog niet zo veel voorbeelden voorradig online; misschien komt het voorbeeld dat je nodig hebt nooit online.

Door upgrades vanuit vorige systemen kan het zijn dat je de voorbeelden nog hebt, of als je alvorens te upgraden zeker wil zijn dat je de voorbeelden nog hebt:

/usr/share/gambas3/examples

Je kan ze gewoon naar je eigen map kopiëren.

Gambas 3 v 3.8.90.svn.7791

Om één of andere reden startte de gambas 3 IDE niet meer en na wat pogingen om een recentere versie af te halen en een de-installatie + installatie ging het nog steeds niet

Enkele van de foutmeldingen die ik zag:
~> gambas3
ERROR: #2: Cannot load class ‘Action!’: Unable to load class file
~> gambas3
gbx3: unable to find startup file
~> gambas3
bash: /usr/bin/gambas3: No such file or directory

Daarna gekeken in de repositories (via software.opensuse.org):

Education

3.8.4
32 Bit
64 Bit
Source

home:munix9

3.8.4
32 Bit
64 Bit
Source

home:munix9:unstable

3.8.90.svn.7791
32 Bit
64 Bit
Source

En dus de laatste versie gekozen, die heel wat Qt5 spullen afhaalt.

Nu draait 3.8.90!

Gambas3 voorbeelden, WaveGenerator 3.6.3

Op openSUSE 13.1 kan het WaveGenerator voorbeeld een foutmelding geven:

Unable to create media control

en dit op de lijn met “autoaudisink”:

$hOutput = New MediaControl($hPlayer, "autoaudiosink")

Dat heeft te maken met het openen van een audio-uitvoer. Er zijn nogal wat verschillende audiosystemen, in verschillende lagen, en meestal lukt het met die autoaudiosink; hier dus niet.

Ik heb* “autoaudiosink” vervangen door “alsasink”, en daarna loopt het voorbeeld normaal.

$hOutput = New MediaControl($hPlayer, "alsasink")

(*) Op basis van een bericht op de mailinglist waar alsasink wordt vervangen door autoaudiosink.
Ik vond enkele meldingen van het probleem, met verwijzingen naar het audiosysteem, maar nergens een lijst met mogelijke waarden om uit te proberen om het snel te doen werken voor mezelf.

openSUSE Leap 42.1 en Gambas2, Gambas3

Update 03/2016:
Ondertussen draait Gambas2 IDE (2.24) perfect op LEap 42.1!

* Een update van openSUSE 13.1 naar openSUSE Leap:
– Gambas2 programma’s compileren en draaien via runtime ok.
– Gambas IDE’s opstarten: werkt niet (meer), te checken.

Opgelet; Trek geen andere conclusie; dit is dus geen “verse installatie” van Leap; kan een verschil maken!
(inderdaad, na nieuwe installatie of updates was het in orde, zie boven)

OpenSUSE 13.2: unable to find startup file

Net zoals ik met 13.1 wel eens lasthad van een “update=gambas weg” (of minstens gambas onbruikbaar), merk ik nu hetzelfde in OpenSUSE 13.2. Oorspronkelijk geïnstalleerd: Gambas3 uit de education repository.
Laatse versie van 04 feb 2015 heeft er blijkbaar voor gezorgd dat gambas niet meer opstart; in KDE blijft het icoon staan stuiteren (bouncen), en op de commandolijn zie je:

gambas3
gbx3: unable to find startup file

In de package manager zie ik echter dat er een viertal componenten niet aangevinkt staan:

  • gambas3-gb-gtk3 (The GTK3 GUI component
  • gambas3-gb-gb-inotify (Monitor filesystem events)
  • gambas3-gb-markdown (Gambas markdown syntax)
  • gambas3-gb-option (The C getopt() interface component)

Geen idee waarom/welke ik nodig zou hebben, maar ik vink ze allemaal aan en installeer ze.

Ondertussen merk ik nog met

/usr/bin/gambas3.gambas
gbr3: unable to load component: gb.markdown

En jawel! Gambas3 loopt weer!

Gambas munix9 repository: gepromoveerd?

Sinds een tijd valt het me op dat er geen Gambas updates meer binnenkomen, terwijl dat vroeger zeer frequent gebeurde. Mijn huidige Gambas3 is versie 3.6.2-10.1. Ik had ook even het probleem dat de iconen op de desktop, en de link in het menu naar het programma Gambas3 verdwenen waren.


Ik krijg ook een foutmelding “Cannot access installation media” op de repository “home:munix9”, die als URL heeft:
http://download.opensuse.org/repositories/home:/munix9:/gambas/openSUSE_13.1/

File ‘/repodata/repomd.xml’ not found on medium ‘http://download.opensuse.org/repositories/home:/munix9:/gambas/openSUSE_13.1/’


Ik zie op de server http://download.opensuse.org dat dit “path” niet meer bestaat (of nog wel bestaat maar leeg is). Als ik wat op en neer wandel door de directories zie ik dat er wel een andere weg is die naar Gambas3 leidt:

opensuseRepoMunix9

openSUSE Repo Munix9

Volg:
http://download.opensuse.org/repositories/home:/munix9/openSUSE_13.1/
om uit te komen op:

gambas3-3.7.0-4.1.x86_64.rpm 26-Mar-2015 10:00 23K

Wat inderdaad een recentere versie is.

Als ik deze repository instel, zie ik in Yast wel enkele componenten waarvoor een 3.6.2-1.2 aanwezig is, maar geen 3.7.0 wordt aangeboden!

gambas3-gb-geom
gambas3-gb-gui
gambas3-gb-maps
gambas3-gb-media-form
gambas3-script

En wat er in 3.7 beschikbaar is, zonder dat ik daarvan een 2.6 versie heb:

gambas3-gb-report2
gambas3-gb-scanner
gambas3-gb-sdl2
gambas3-gb-util
gambas3-scripter

En bovendien is er een hele verzameling 3.7.90.svn.70000-6.1 bijgekomen, maar die heb ik niet aangezet.

Ik kies voor alle gambas3 paketten wel de update naar 3.7 in Yast, en bevestig andere afhankelijkheden (en het verwijderen van “vervallen” componenten uit 3.6).

Gambas 3 start daarna mooi op als Gambas 3.7

Enkele dagen later is er een upgrade; ik stel ook vast dat deze component niet meer voorkomt in Yast2 lijst van gambas3:

gambas3-gb-media-form


ps: eerst kreeg ik een foutmelding, maar de volgende keer werd de update toch uitgevoerd;
30/03: Foutmelding bij update: problem connecting software origins.

File ‘./x86_64/gambas3-runtime-3.7.1-1.x86_64.rpm’ not found on medium ‘http://download.opensuse.org/repositories/home:/munix9/openSUSE_13.1/’

Update wordt daardoor overgeslagen.

Daarna toch uitgevoerd; 3.7.1

Gambas script als shell script

Ben je zodanig aan Gambas verslingerd dat je een shell script liefst in Gambas schrijft?

Eenvoudig script

Het eenvoudigste voorbeeld is altijd de “Hello World”; maak een tekstbestand helloGambas.sh in ~/bin met als inhoud:

#!/usr/bin/gbs2
Public Sub Main()
   Print "Hello Gambas World v. " & System.Version
End

De eerste lijn geeft aan waarmee dit script moet uitgevoerd worden. Daarvoor kijk je waar gambas staat, bv met “which gbs2”; het antwoord op OpenSuse: /usr/bin/gbs2, elders bv /usr/local/bin/gbs2, enz.

Als je met Gambas versie 3 werkt is het :

#!/usr/bin/gbs3
Public Sub Main()
   Print "Hello Gambas World v. " & System.Version
End

Pas ook hier de eerste lijn aan aan je eigen systeem.

Maak het script uitvoerbaar
chmod +x helloGambas.sh
En start het van de commandolijn met de naam: ./helloGambas.sh

De uitvoer moet natuurlijk

Hello Gambas World v. 2

of

Hello Gambas World v. 3

zijn.

Nu heb je een script dat je kan starten vanop de commandolijn, net zoals je andere shell scripts.

Programma in plaats van script

Als je een veel groter/uitgebreider programma wil laten draaien, kan dat door een nieuw project te openen, kies bij Project Type voor “Command Line Application”.

Dan krijg je geen FMain, dus geen venster dat geopend wordt bij het starten van het programma.
Je krijgt wel een MMain als startende module, en je kan klassen bijmaken enz.

Andere opties mag je wel aankruisen, zoals “settings file managament” en “database access”.

Het uiteindelijke programma compileer je tot mijnProgramma.gambas, en je maakt het uitvoerbaar als het dat nog niet zou zijn.

Je kan dat programma dan aanroepen vanin een shell script, bv:
/home/username/bin/runTest.sh
met als inhoud:
/home/username/uitvoerbaar/mijnProgramma.gambas

In het script kan je ervoor of erna een touch doen naar een bestand om te checken of het script gelopen heeft:


touch /home/username/startedScript.txt
/home/username/uitvoerbaar/mijnProgramma.gambas

Als je vanuit dit shell script je gambas programma kan starten, kan je runTest.sh opnemen in de cron jobs: uitvoeren vanuit de cron jobs,.

Verdere interessante mogelijkheden zijn: een script laten uitvoeren als CGI script in een webserver, …

Gambas3 start niet op in OpenSUSE 13.1 (ok)

Waarschijnlijk weer na een update begin februari, ik heb helaas gemist waar/wanneer juist.

Huidige toestand:

OpenSUSE 13.1 met KDE, uptodate.
Gambas3 IDE: 3.6.2-1.2 uit de OpenSUSE build service, Education.

Veel (de meeste) andere bestanden zijn versie 3.6.2-10.1 en komen uit de “munich” repository.

Blijkbaar is de Gambas installatie slechts gedeeltelijk geupdate, en/of heeft de edu de munich overschreven. Heeft het iets te maken met die 1 en 10 na de hoofdversienummers?

Ik laat manueel updaten (Yast, install/remove software), daarvoor verzet ik alles wat op de Education repo staat naar de munich repo, en dat waren:

gambas3-devel
gambas3-gb-args
gambas3-gb-db
gambas3-gb-db-form
gambas3-gb-desktop
gambas3-gb-eval-highlight
gambas3-gb-form
gambas3-gb-form-dialog
gambas3-gb-form-mdi
gambas3-gb-image
gambas3-gb-image-effect
gambas3-gb-qt4
gambas3-gb-qt4-ext
gambas3-gb-qt4-webkit
gambas3-gb-settings
gambas3-ide

Daarna worden nog volgende Automatic Changes gedaan:

gambas3-gb-option
systemd-rpm-macros
gambas3-scripter
debhelper
rpm-build

Ok! Gambas 3.6.2 is terug.

Op een andere computer met ongeveer hetzelfde systeem (13.1), is enkel de IDE van versie 3.6.2-10.1, en al de rest is 3.6.2-1.2.
Daar doe ik een downgrade van dat ene pakket naar de Education repository (dus naar 3.6.2-1.2), maar dat geeft geen startende gambas3.
Ik doe dus een onconditionele upgrade van de hele lijst (na gambas3 selectie) in yast. Helaas lijkt yast van 3.6.2-1.2 naar 3.6.2-10.1 NIET als een UPGRADE te beschouwen, wat een bug lijkt in de interpretatie van de versienummers door Yast of de updater. En een keuze voor “heel de lijst – downgrade” zit niet in het rechtsklik menu. Ik zet even de Educational repository af, en doe dan een onconditionele upgrade.

nb: Misschien moet ik die Munich repository een wat hogere prioriteit geven? Dat doe je door die repository een lager nummer te geven, bv van 99 naar 98. In dit geval hielp het niet (versienummer-bug?).

nb 2: Achteraf merkte ik dat bepaalde iconen van mappen met gambas inhoud, verdwenen waren. Op mijn desktop had ik het icoon van de map veranderd naar een gambas icoon, dat waarschijnlijk deel uitmaakte van een gambas installatie. Ik ben niet helemaal zeker van het verband.

Update 27/3
: mogelijk is dit de oorzaak (en oplossing)?

Gambas3 Software Farm

Ik heb al een tijdje niet meer gevolgd op de mailinglist van Gambas, en daarom verwonder ik me bij een nieuwe installatie van Gambas3 (op OpenSUSE 13.1). De voorbeelden zitten niet meer bij de installatie. Maar je krijgt in de IDE wel een aanbod om de voorbeelden af te halen van de software farm. Een grappige naam voor een beproefd concept, en een goed idee om de voorbeeldbestanden iets flexibeler te benaderen.