Gambas 1.9.92 op openSuse 10.3 install (log)

Installatie van huidige versie op vers-geïnstalleerde openSuse waar geen extra “installatiebronnen” aan werden toegevoegd. Gelukt mits aantal meldingen van onderdelen die voor standaard werk waarschijnlijk niet nodig zijn. De meeste voorbeelden werken, gambasgears (opengl), en sound (gb.sdl.sound) niet, database nog uit te proberen. Volledig log hieronder:

Open Suse 10.3 met alle updates tot 24/12/07

Standaard om van source te kunnen compileren:
* autoconf
* automake
* gcc
* gcc-c++
* make

Dan voor de gebruikte omgeving (geen GTK maar QT):
# qt3
# qt3-devel

qt3-static vind ik niet in Yast

gtk: voorlopig niet

pdf library:
# poppler
# poppler-devel

perl compatible regular expressions:
# pcre

kde + include files and libraries needed to develop applications
# kdelibs3
# kdelibs3-devel

Lightweight Directory Access Protocol:
# openldap2-client
# openldap2-devel

get documents and files from or send documents to a server with several protocols
# curl
# curl-devel

Database alleen de mysql:
# mysql
# mysql-client
# mysql-devel (libmysqlclient-devel)
# mysql-shared (libmysqlclient15)

ODBC for unix:
# unixODBC
# unixODBC-devel niet gevonden, wel:
qt3-unixODBC

XML:
# libxml2
# libxml2-devel
# libxslt
# libxslt-devel

compression:
# zlib
# zlib-devel
# glibc
# glibc-devel

Simple DirectMedia Layer:
# SDL
# SDL-devel
# SDL_image
SDL_image-devel niet gevonden
# Mesa
# Mesa-devel

meer sound:
# SDL_mixer
SDL_mixer-devel niet gevonden

image
# libpng
# libpng-devel
# libjpeg
# libjpeg-devel

download van http://gambas.sourceforge.net/download.html
de laatste versie (hier 1.9.92)

tar -xjvf gambas2-1.9.92.tar.bz2
cd gambas2-1.9.92
./reconf-all

een aantal van de componenten bevat opmerkingen:

main
app
comp
examples
help
gb.compress.bzlib2
gb.compress.zlib
gb.corba
gb.crypt
gb.db.firebird
gb.db.mysql
gb.db.odbc
gb.db.postgresql
gb.db.sqlite2
gb.db.sqlite3
gb.desktop
gb.gtk
gb.gtk.svg
gb.image
gb.net
gb.net.curl
gb.net.smtp
gb.opengl
gb.pcre
gb.pdf
gb.qt
gb.qt.am:3: `%’-style pattern rules are a GNU make extension
src/Makefile.am:3: `gb.qt.am’ included from here
gb.qt.am:3: `%’-style pattern rules are a GNU make extension
src/ext/Makefile.am:3: `gb.qt.am’ included from here
gb.qt.am:3: `%’-style pattern rules are a GNU make extension
src/opengl/Makefile.am:3: `gb.qt.am’ included from here
gb.qte
gb.qte.am:3: `%’-style pattern rules are a GNU make extension
src/Makefile.am:3: `gb.qte.am’ included from here
gb.qte.am:3: `%’-style pattern rules are a GNU make extension
src/ext/Makefile.am:3: `gb.qte.am’ included from here
gb.qt.kde
gb.qt.am:3: `%’-style pattern rules are a GNU make extension
src/Makefile.am:3: `gb.qt.am’ included from here
gb.qt.am:3: `%’-style pattern rules are a GNU make extension
src/html/Makefile.am:3: `gb.qt.am’ included from here
gb.sdl
gb.sdl.sound
gb.v4l
gb.xml

./configure -C

eindigend op:
************************************************************

THESE COMPONENTS ARE DISABLED:

– gb.corba
– gb.db.firebird
– gb.db.odbc
– gb.db.sqlite2
– gb.gtk.svg
– gb.qte
– gb.sdl
– gb.sdl.sound

************************************************************

make

sudo make install

of

su root
make install
exit

gambas staat nu in
/usr/local/share/gambas2/

en de opstartfile staat in
/usr/local/bin/

icoon op desktop maken: zoek het icoon in de pre-installatie directory:
file:///home/username/Documents/Unpack/gambas2-1.9.92/app/src/gambas2/img/logo/new-logo.png

Formulier bestand fout (gambas 1.9.33)

Gambas 2 is nog in ontwikkeling, maar nadert de stabiele versie. Met versienummer 1.9.x kan je nog problemen tegenkomen die soms in meer recente versies zijn opgelost. Onderstaand is daar waarschijnlijk een voorbeeld van:

Bij het een bestaand project heb ik het volgende probleem:
– bij het openen van de Main form: een foutmelding “Formulier bestand fout”, na ok een foutmelding + crash.
– verschillende projecten geprobeerd, steeds zelfde gedrag.
– module openen gaat wel.

Het bestaand project is gemaakt met Gambas 1.9.5.
Openen op Gambas 1.9.33.

Foutmelding:

This application has raised an unexpected
error and must abort.
[12] Not an object.
FForm.Form_Resize.527

Ik zal moeten upgraden naar een hogere versie.
(deze install was/is de voorgeschreven install voor deze os versie).

Gambas: compiler, interpreter, archiver

Schema van de werking:

Compiler: gbc Compiler Interpreter: gbx Interpreter Archiver: gba Archiver

De projectdirectory bevat alles wat de compiler nodig heeft, als beeldbestanden, broncode van de modules en classes, . De applicatie wordt vanuit de ide rechstreeks uitgevoerd. Er worden een aantal onzichtbare bestanden gemaakt, plus een directory met de naam .gambas. De bestanden zijn:
.directory
.icon.png
.settings
.lock
.project

.lock bestand verdwijnt na het sluiten van het project of het afsluiten van de IDE.

Gambas maakt na project, make executable een bestand met de extentie .gambas in de projectdirectory. Dat kan als werkend programma aangeroepen worden zonder de programmeeromgeving op te starten.

Project, Make Source Archive maakt een ingepakt bestand voor distributie: programma-0.0.6.tar.gz

Een Gambas programma uitvoeren (“Run”)

Als je een project open hebt kan je het gemakkelijk starten, maar ook zonder de hele programmeeromgeving op te starten kan je een programma laten draaien. Om het op een andere computer te gebruiken, die geen gambas programmeeromgeving heeft, moet je daar wel de gambas runtime hebben (gbx).

  1. Vanuit de IDE kan je een open project laten draaien;
    – Open Gambas
    – Open je project
    – Start.het programma met ofwel:

    - Menu Debug/Run
    - F5
    - groene of zwarte pijl met "run" memo

  2. Zonder de IDE op te starten:
    – Klik op “.gambas” file of het icoon op je desktop. Normaal zal automatisch het nodige gebeuren (nl het oproepen van de interpreter).
    – Binnen gambas kan je dat voorbereiden (v1.9) door het menu Project, Make executable en daarin “create a shortcut on the desktop” aankruisen.
    De inhoud van die shortcut is dan bv:

    [Desktop Entry]
    Comment=
    Encoding=UTF-8
    Exec=’/home/wig/GambaPrj/Orderboard/Orderboard.gambas’
    Icon=
    Name=Orderboard
    StartupNotify=true
    Terminal=false
    TerminalOptions=
    Type=Application

    Als je gambas niet gestart hebt, en je klikt op dat icoon, start alleen het programma dat je in gambas gemaakt hebt. De Gambas programmeeromgeving zelf blijft onzichtbaar.

  3. Op een andere PC (met volledige Gambas installatie)

    Je kan de Orderboard.gambas file overbrengen naar die andere pc (bv uploaden op web, downloaden).
    Controleer of het bestand uitvoerbaar is. Erop klikken zou moeten volstaan om het uit te voeren.
    Het bevat zelf vooraan in het bestand een aanwijzing:

    wig@Ubuntu710:~/GambasExec$ head Orderboard.gambas
    #! /usr/bin/env gbr2

    ~ħ8�
    c
    # Gambas Project File 2.0
    Title=Orderboard
    Startup=FMain
    Version=0.0.4
    Library=gb.db
    Library=gb.qt
    Library=gb.form
    Library=gb.db.form

    Ik vermoed dat versie 1 gbx zal aanroepen ipv gbr2.

  4. Vanuit de command prompt
    kan ook; er worden bij mij met de huidige combinatie Gambas 1.9.91 op Ubuntu 7.10 wel foutmeldingen zichtbaar (het project komt van een openSuse 10.2 pc met Gambas 1.9.5) :

    wig@Ubuntu710:~/GambasExec$ gbr2 Orderboard.gambas
    WARNING: current bytecode version is 2.0.0 and project bytecode version is 1.9.49. You should recompile your project.

  5. Op een andere PC zonder programmeeromgeving
    In principe moet je de gambasprogramma’s kunnen draaien met alleen de gambas runtime (zie documentatie).
    Nog uit te proberen voor beschrijving hier.

Gambas 1+2 installatie op Suse 10.0 (log)

Niet al te best gelukt. Ik keek voor de “dependencies” of “afhankelijkheden” met de beschreven installatie op openSuse 10.2, en installeerde in het bestaand systeem al de beschreven packages.
De download link
ftp://ftp.gwdg.de/pub/linux/misc/suser-gbv/rpms/
komt van
http://gambas.sourceforge.net/download.html
en leidt naar
ftp://ftp.gwdg.de/pub/linux/misc/suser-gbv/rpms/SuSE_10.0 (*)
(*) Opgelet: deze versie is niet aan te raden! Zie bugs. Installeer een meer recente versie, desnoods van source en compileren!

De download uitgepakt in een lokale map, en die map toegevoegd aan de software bronnen in Yast. Dan in Yast kiezen voor installatie van “gambas” (zoek); alle gambas paketten aanduiden die in deze directory staan en installatie starten geeft een foutmelding:

gambas 1.0.16-1.gbv.suse100 conflict
/usr/bin/gbx niet beschikbaar.

Ik kies “Dit conflict negeren” en ga door.
Er worden door Yast nog een aantal extra paketten voorgesteld onder meer ivm postgresql (libdv, libraw-1394, lirc, postgresql-libs, libavc, ..).
Ik bevestig die en ze worden door Yast geïnstalleerd van de 10.0 Suse DVD, onmiddellijk gevolgd door de gambas installatie.

Nadien is in het menu Ontwikkeling, Ontwikkelingsomgeving zowel Gambas als Gambas2 aanwezig (zonder icoon – zie afbeelding hieronder).
Je kan het icoon vervangen door /usr/share/icons/gambas.png

Gambas start perfect uit het menu (versie 1 dus).
Gambas2 start ook maar ziet eruit als Gambas 1. Ook de zwevende gamba is nog aanwezig (niet meer in versie 1.9.5 bv)

Gambas menu

Installatie van Gambas 1.9.91 op KUbuntu (log)

Log van een installatie van huidige Gambas 1.9.91 op huidige KUbuntu 7.10 Gutsy Gibbon (lijkt ok -upd: probl met MySql: error “unable to set database charset” – in latere versies wordt dit een warning – ondertussen bestaan recentere versies van Gambas!):
Controleren van de nodige “dependencies”: in principe kan dat met sudo apt-get install (namen van de paketten):

sudo apt-get install build-essential g++ automake autoconf libbz2-dev libgnorba-dev libfbclient1 libmysqlclient15-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libgtk2.0-dev libldap2-dev libcurl3-dev libgtkglext1-dev libqt3-mt-dev kdebase-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsage-dev libxml2-dev libxslt1-dev build-essential libbonobo2-dev libcos4-dev libomniorb4-dev firebird2-dev librsvg2-dev libpoppler-dev libpoppler-dev libpoppler-glib-dev libasound2-dev libartsc0-dev libesd0-dev libesd-alsa0 libdirectfb-dev libaa1-dev

In de grafische interface met bv “Add/Remove programs” (*) lukte het me niet om zo snel-lijkt meer voor installatie van desktop gebruiksprogramma’s te zijn (* of “Adept” = het standaard pakketbeheer van KUbuntu 7.10). Je kan wel onder systeem, Adept Manager kiezen, daar heb je meer mogelijkheden.

Tik in de “search” balk achtereenvolgens de pakketnamen in en installeer.

Als je Adept/Manager al open hebt staan kan je foutmeldingen krijgen als je ook nog een apt-get start.

E: Could not get lock /var/lib/dpkg/lock – open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

Adept sluiten dan en opnieuw proberen.
Als alles al geïnstalleerd en up to date was krijg je:

… is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Uitpakken in /usr/src gaat niet als gewone gebruiker omdat je daar niet mag schrijven:

/usr/src$ touch test.txt
touch: cannot touch `test.txt’: Permission denied

dus moet je sudo gebruiken om tijdelijk root rechten te krijgen:

cd /usr/src
sudo tar xvfj /home/loginnaam/Desktop/gambas2-1.48.tar.bz2

Reaktie eindigde met:


gambas2-1.9.91/gb.db.odbc/gb_common.h
gambas2-1.9.91/gb.db.odbc/COPYING
gambas2-1.9.91/README.svn-commit

cd gambas2-1.9.91/
sudo ./configure -C

gaf mij een scrollend scherm eindigend op :

************************************************************

THESE COMPONENTS ARE DISABLED:

– gb.qte

************************************************************

Na-installeren?

sudo apt-get install gb.qte

Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Couldn’t find package gb.qte

Maar na wat opzoekwerk ontdekte ik dat gb.qte dient voor “Embedded Linux”, en ik die dus niet nodig heb.

Volgende stap:
sudo make

Allerlei output eindigend op :

make[3]: Entering directory `/usr/src/gambas2-1.9.91/examples’
make[3]: Nothing to be done for `all-am’.
make[3]: Leaving directory `/usr/src/gambas2-1.9.91/examples’
make[2]: Leaving directory `/usr/src/gambas2-1.9.91/examples’
make[2]: Entering directory `/usr/src/gambas2-1.9.91′
make[2]: Nothing to be done for `all-am’.
make[2]: Leaving directory `/usr/src/gambas2-1.9.91′
make[1]: Leaving directory `/usr/src/gambas2-1.9.91′

sudo make install

Meldingen als

Compiling Sound/CDPlayer/…
OK

eindigend op

make[2]: Entering directory `/usr/src/gambas2-1.9.91′
make[2]: Nothing to be done for `install-exec-am’.
make[2]: Nothing to be done for `install-data-am’.
make[2]: Leaving directory `/usr/src/gambas2-1.9.91′
make[1]: Leaving directory `/usr/src/gambas2-1.9.91′

Op de desktop een link gemaakt naar Applicatie, command ‘Gambas2’
(gebruikt /usr/local/bin/gambas2 )
Gambas start op in versie 1.9.91

Icoon van de link aanpassen: gambas beeldjes vind je met find -name gambas.png in:

./usr/src/gambas2-1.9.91/comp/src/gb.form.mdi/img/gambas.png
./usr/src/gambas2-1.9.91/comp/src/gb.form/stock/default/16/gambas.png
./usr/src/gambas2-1.9.91/comp/src/gb.form/stock/default/32/gambas.png
./usr/src/gambas2-1.9.91/comp/src/gb.form/stock/default/128/gambas.png
./usr/src/gambas2-1.9.91/app/src/gambas2/img/16/gambas.png
./usr/src/gambas2-1.9.91/app/src/gambas2/img/32/gambas.png
./usr/src/gambas2-1.9.91/app/src/gambas-database-manager/img/16/gambas.png
./usr/src/gambas2-1.9.91/app/src/gambas-database-manager/img/32/gambas.png
./usr/src/gambas2-1.9.91/gb.qte/src/gb.qte/stock/qt/16/gambas.png
./usr/src/gambas2-1.9.91/gb.qte/src/gb.qte/stock/qt/32/gambas.png
./usr/src/gambas2-1.9.91/gb.qte/src/gb.qte/stock/qt/128/gambas.png

Kies bv het logo:

/usr/src/gambas2-1.9.91/app/src/gambas2/img/logo/new-logo.png

OK!

VFP: Einde van de vos, begin van de Gambas?

In dit bericht
http://blogs.msdn.com/yag/archive/2007/03/13/message-to-the-vfp-community.aspx
werd aangekondigd dat er geen nieuwe versie zou verschijnen van Visual Foxpro.
De laatste versie was VFP 9, en die zou ondersteund blijven tot 2015, maar er komt geen VFP 10.

Volgens https://support.microsoft.com/en-us/lifecycle/search/?p1=7992

Microsoft Visual FoxPro 9.0 Professional Edition Start: 12/22/2004 support end: 1/12/2010 Extended support end: 1/13/2015

Volgens https://msdn.microsoft.com/en-us/library/mt490117 (vrij vertaald:)

“merk op dat Visual Foxpro 9.0 de laatste versie is, die verscheen in 2007”

Er staan nog links naar Service Pack 2: Visual Foxpro 9.0 SP2 en naar enkele hotfixen en de “code samples” (voorbeelden).

In deze commentaar zie je al verwijzen naar Gambas …

(upd 2017: Helaas is die pagina nu van het net verdwenen -“Sheduled for migration” staat er nu- en weet ik ook niet meer wat er dan stond.
Mogelijk de tekst van de originele post, zonder de betreffende commentaren, vind je nu hier: https://msdn.microsoft.com/en-us/library/mt490297.aspx )

Installatie van Gambas v. 2 (alg)

Momenteel zijn de files versie 1.9x, maar functioneel is het versie 2.
Er staan voor een paar distributies beschrijvingen in de Gambas documentatie:
Voor de Debian-Ubuntu-achtigen bv hier http://gambasdoc.org/help/install/ubuntu?nl
(Zie ook install logs op deze site in de rubriek “installatie”)

Algemeen moet je eerst zorgen dat je de nodige componenten op je Linux systeem hebt
De lijst word gegeven in de documentatie (bv voor openSUSE href=”http://gambasdoc.org/help/install/opensuse?show)

Dan moet je Gambas afhalen, eventueel compileren en installeren.
Je kan het installeren uit de beschikbare software voor je systeem, die bij je distributie geleverd werd (bv Suse DVD), maar dat heeft twee nadelen:

  • door distributies aangepaste installaties hebben soms afwijkingen die niet overeenkomen met andere installaties, wat vergelijken moeilijker maakt als er iets fout gaat (bv suse probleem)
  • het is een “oude” versie; Gambas is volop in ontwikkeling en recentere versies zijn bijna altijd beter.

Beter dus is de source afhalen van de site en zelf compileren.
Kort samengevat:
tar xvfj gambas2-1.9.91.tar.bz2
./configure -C
make
sudo make install

Bv uitgevoerd op KUbuntu 7.10 Gutsy Gibbon: http://gambas.noxqs.org/?p=19.

Installatie van Gambas (v. 1)

Gambas bestaat momenteel in 2 versies: de “1” versie die stabiel is, en de “2” versie, in ontwikkeling. Die laatste is momenteel aan versienummer 1.9.x.

Gambas is ook in versie 1 nog te downloaden (momenteel aan versie 1.0.19) of is soms aanwezig in Linux distributies van die tijd (bv Suse 9.3: gambas 1.0.4).

Versie 1 van Gambas is onmiddellijk te herkennen aan de “mascot”, een zwevende blauwe gamba die aangeeft of het “uitvoeren” van een programma foutloos verloopt (duim), of bv een “syntax error” geeft, waarop de gamba zijn poot voor zijn ogen slaat.

Meestal wordt aangeraden de meest recente versie te gebruiken. Ook bij versie 1 zijn er wat afhankelijkheden (dependencies); best vooraf aan voldoen. Ze staan beschreven in een bij de download bijgevoegde readme.

Eens geïnstalleerd vind je een aantal Gambas programmavoorbeelden:
Basic:
“collection”: hierarchie, openklikbaar met [+]/[-]
“treeview” : hierarchie, child, click event, event-stack
“dragNdrop”: grafische objecten naar een lijst slepen
“object”: create, manipulate, delete object (tekst)
“timer”: trigger-timer-reaction, start/stop, high/low time
Drawing:
“analogue watch”: lopende klok
“clock”: verschillende vormen van analoge klok instelbaar, verplaatsbaar, niet-venster object
“on screen display”: digitale klok, transparant op scherm grote letters
Exec:
“console” voor eenvoudige commando’s als ls, niet voor su en uitvoeren mcedit
Games:
RobotsFindsKitten: cursorbesturing in tekstscherm
Snake: langer wordende slang die appels moet “vangen” en zichzelf vastrijdt op kant of eigen lijf, met 3 menus en shortcut op eerste letter menukeuze.
Solitaire: verschillende borden,
Evaluator: formule (cosinus etc) laten berekenen, waarden en formule wijzigbaar
Explorer: file-explorer (anders dan de vaste Kde -filemanager.

Deze versie heb ik eigenlijk alleen geïnstalleerd omdat de “documentation” in deze versie 1 handiger is. Ze is te bereiken vanuit het help-menu en bevat een “help browser” met een “explore” (hierarchisch overzicht) en een zoek functie in tabblad “search”. De help van versie twee is een statisch html bestand zonder zoek, die opent in Konqueror.

Gambas: Gambas Almost Means BASic

Er wordt op verschillende momenten over een vorm van Basic voor Linux gesproken, maar er lijkt niets meer in tegenstelling te zijn met Linux: Basic, de taal van de slechte gewoontes, het anti-voorbeeld van de programmatie cursussen, enz. Basic: stond het niet voor Beginners All-purpose Simple Instruction Code of zoiets?

Bovendien is de naam “ingepalmd” door MS die het in zijn Visual pakket gebombardeerd heeft tot ontwikkeltool bij uitstek voor zijn platform. Dus waarom zou iemand het in zijn hoofd halen toch een Basic te maken voor Linux? Of om het te gebruiken?

Maar de praktijk wijst uit dat ook Basic-gebruikers overstappen naar Linux, en graag bestaande kennis of code willen meenemen. En er zijn ook nieuwe geïnteresseerden in een ontwikkelomgeving op IDE niveau voor snelle maatwerkontwikkeling voor de desktop. Zo kwam Benoit Minisini zaterdag 26 februari 2005 in Brussel zelf uitleggen wat Gambas is (op Fosdem).

Hier en daar wordt met Linux op de desktop gewerkt. Sommige grote bedrijven schakelen in stilte duizenden gebruikers om op een Linux Desktop. In kmo-omgeving kan men onafhankelijke keuzes maken en bespaart men geld en tijd door Linux in te zetten op de server en op de desktop. Er wordt gewerkt met mysql en waarschijnlijk met een aantal “web” applicaties in php, zoals webmail, forum, groep of kantoor samenwerkingspaketten, misschien zelfs klant/order/levering/factuur zoals noxqs. Dat is een plek waar nood is aan grafische, desktop-gerichte programma’s, en soms zijn het dingen die beginnen met een kleine berekening op gegevens uit de databank. Wie verder wil gaan dan OOo Calc moet ofwel weer richting LAMP, ofwel … werd in Windows-tijden naar “FoxPro”, of “Visual Foxpro” gegrepen, en Visual Basic waarschijnlijk. Over Foxpro is ondertussen het doek gevallen; “We are announcing today that there will be no VFP 10“. Wat je nodig hebt is verbinding met een databank, eenvoudig leesbare code, en een grafische schermopbouw. Je wil garantie dat je de nodige vrijheid hebt (geen licenties op runtime enz), dus je blijft binnen de os/fs.

En dan kan je bij Gambas terechtkomen.