Gambas Documentation
Application Repository
Code Snippets
Compilation & Installation
Components
Controls pictures
Deprecated components
Developer Documentation
Development Environment Documentation
Documents
About The Best Formula In The World
Architecture details
Benchmarks
Books
By Reference Argument Passing
Compatibility between versions
Creating And Using Libraries
Database Datatype Mapping
Database Request Quoting
Date & time management
Dates and calendars
DBus and Gambas
Differences Between Shell And Exec
Differences From Visual Basic
Distributions & Operating Systems
Drag & Drop
DrawingArea Internal Behaviour
External functions datatype mapping
Frequently Asked Questions
Gambas Farm Server Protocol
Gambas Mailing List Netiquette
Gambas Markdown Syntax
Gambas Naming Conventions
Gambas Object Model
Gambas Scripting
Gambas Server Pages
Gambas Unit Testing
Gambas Wiki Markup Syntax
Getting Started With Gambas
Hall Of Fame
Image Management In Gambas
Including Help Comments in Source Code
Interpreter limits
Introduction
Just In Time Compiler
Just In Time Compiler (old version)
License
Localisation and Internationalization
Mailing Lists & Forums
Naming Conventions
Network Programming
ODBC Component Documentation
PCRE Pattern Syntax
Porting from Gambas 2 to Gambas 3
Previous News
Project Directory Structure
Release Notes
Gambas 2.23.0
Gambas 2.23.1
Gambas 2.24.0
Gambas 3.0.0
Gambas 3.1.0
Gambas 3.1.1
Gambas 3.2.0
Gambas 3.2.1
Gambas 3.3.0
Gambas 3.3.1
Gambas 3.3.2
Gambas 3.3.3
Gambas 3.3.4
Gambas 3.4.0
Gambas 3.4.1
Gambas 3.4.2
Gambas 3.5.0
Gambas 3.5.1
Gambas 3.5.2
Gambas 3.5.3
Gambas 3.5.4
Gambas 3.6.0
Gambas 3.6.1
Gambas 3.6.2
Gambas 3.7.0
Gambas 3.7.1
Gambas 3.8.0
Gambas 3.8.1
Gambas 3.8.2
Gambas 3.8.3
Gambas 3.8.4
Gambas 3.9.0
Gambas 3.9.1
Gambas 3.9.2
Gambas 3.10.0
Gambas 3.11.0
Gambas 3.11.1
Gambas 3.11.2
Gambas 3.11.3
Gambas 3.11.4
Gambas 3.12.0
Gambas 3.12.1
Gambas 3.12.2
Gambas 3.13.0
Gambas 3.14.0
Gambas 3.14.1
Gambas 3.14.2
Gambas 3.14.3
Gambas 3.15.0
Gambas 3.15.1
Gambas 3.15.2
Gambas 3.16.0
Gambas 3.16.1
Gambas 3.16.2
Gambas 3.16.3
Gambas 3.17.0
Gambas 3.17.1
Gambas 3.17.2
Gambas 3.17.3
Gambas 3.18.0
Gambas 3.18.1
Gambas 3.18.2
Gambas 3.18.3
Gambas 3.18.4
Gambas 3.19.0
Gambas 3.19.1
Gambas 3 RC1
Gambas 3 RC2
Gambas 3 RC3
Gambas 3 RC4
Gambas 3 RC5
Gambas 3 RC6
Gambas 3 RC7
Reporting a problem, a bug or a crash
Rich Text Syntax
Screenshots
Text highlighting definition file syntax
The Program has stopped unexpectedly by raising signal #11
Variable Naming Convention
WebPage Syntax
Web site home page
What Is Gambas?
Window & Form Management
Window Activation & Deactivation
Window Life Cycle
XML APIs
Error Messages
Gambas Playground
How To's
Language Index
Language Overviews
Last Changes
Lexicon
README
Search the wiki
To Do
Topics
Tutorials
Wiki License
Wiki Manual

Gambas 2.23.0

What's new

This release is a bug-fix release. The main changes are :

  • A new Romanian translation was added.

  • The Czech and Swedish translations were updated.

  • A memory leak that lead to a crash in enumeration management was fixed.

  • Many bugs in TextBox, TextArea, SpinBox, Menu, gridview, ListBox, and ComboBox controls in he GTK+ component were fixed.

  • The Control.MoveScaled method has been fixed.

  • Table existence is correctly checked in the ODBC component.

  • SQLite integer primary keys are better detected.

ChangeLog

[DEVELOPMENT ENVIRONMENT]
* NEW: Add support for Finnish language.
* NEW: Support for the Romanian language.
* NEW: Romanian translation made by Florin Iacob.
* NEW: Czech translation updated by Radek Fryšták and Josef Kubíček.
* NEW: Add desktop and icon files.
* NEW: Swedish translation updated.

[INTERPRETER]
* BUG: File.SetExt() now works correctly with files whose name begins with
  a dot.
* BUG: Fix a memory leak that can lead to a crash in enumeration
  management.
* BUG: The Stat.Perm[] property correctly returns execution permissions
  now.

[COMPILER]
* BUG: Correctly read long constants whose value is the lower possible Long
  value.
* BUG: Define the LLONG_MAX constant if it is not defined.

[GB.DB.FORM]
* NEW: New Czech translation made by Radek Fryšták and Josef Kubíček.

[GB.DB.ODBC]
* BUG: Table existence should be checked correctly now.

[GB.DB.SQLITE3]
* BUG: Detect integer primary key whatever the case used to write
  "integer".

[GB.FORM]
* NEW: New Czech translation made by Radek Fryšták and Josef Kubíček.

[GB.FORM.DIALOG]
* NEW: New Czech translation made by Radek Fryšták and Josef Kubíček.

[GB.FORM.MDI]
* NEW: New Czech translation made by Radek Fryšták and Josef Kubíček.

[GB.GTK]
* BUG: Cursor is correctly updated with the value of Application.Busy now.
* BUG: Stop Event now works during the Close event of a modal form.
* BUG: Fix a memory leak that leads to a crash in the TextArea.Paste()
  method.
* BUG: Fix Label automatic resize.
* BUG: Settings the text of a transparent Label or TextLabel having no text
  works correctly now.
* BUG: SpinBox Value property should always be accurate now.
* BUG: TextBox.Selection.Length now returns the correct value.
* BUG: Calling Menu.Children.Clear() or deleting a menu during a Menu Show
  event should not crash anymore.
* BUG: A parent menu does not raise the Click event anymore.
* BUG: GridView correctly receives the focus now.
* BUG: Draw.Ellipse() now correctly draws a pie when filling is enabled.
* BUG: Fix ComboBox.Add() when the position argument is specified.
* BUG: Fix ListBox.Add() when the position argument is specified.
* BUG: MoveScaled works correctly for positions and sizes that are not a
  multiple of Desktop.Scale.
* BUG: Key[] does not print GTK+ warning anymore when getting a null
  string as argument.
* BUG: Mouse.Blank cursor works as expected now.
* BUG: Relative font sizes are correctly interpreted in rich text now.

[GB.NET.CURL]
* NEW: Asynchronous FtpClient and HttpClient objects are now automatically
  kept alive until their operation is finished.

[GB.QT4]
* BUG: MoveScaled works correctly for positions and sizes that are not a
  multiple of Desktop.Scale.

Requirements

To compile Gambas, you must install the following libraries on your system :

Components Libraries & requirements
Interpreter libffi.so
gb.compress.bzlib2 libbz2.so
gb.compress.zlib libz.so
gb.corba libACE.so, libomniORB4.so, libomniDynamic4.so
gb.crypt libcrypt.so
gb.db.firebird libfbclient.so
gb.db.mysql libmysqlclient.so, libz.so
gb.db.odbc libodbc.so
gb.db.postgresql libpq.so
gb.db.sqlite2 libsqlite.so
gb.db.sqlite3 libsqlite3.so
gb.desktop libXtst.so
gb.gtk All GTK+ libraries >= 2.10
gb.gtk.svg librsvg2.so
gb.net.curl libcurl.so
gb.opengl libGL.so, libGLU.so
gb.pcre libpcre.so
gb.pdf libpoppler.so
gb.qt libqt-mt.so.3 >= 3.3
gb.qt.kde All KDE 3 libraries >= 3.5
gb.sdl libSDL.so, libSDL_image.so, libGL.so, libGLU.so
gb.sdl.sound libSDL.so, libSDL_mixer.so
gb.v4l libjpeg.so, libpng.so,Video4Linux >= 2.0
gb.xml libxml-2.0
gb.xml.xslt libxslt

And do not forget to install all related development packages!

Try to always use a recent version of these libraries.

You must compile gb.qt4 and /wiki/comp/gb.qt.ext components to have a working development environment.

You must have the right to write to /tmp, otherwise Gambas will not work.

This package was done with the following versions of GNU tools on Ubuntu 10.10:
  • automake 1.11.1

  • autoconf 2.67

  • libtool 2.2.6b

Compilation & Installation

Check installation

First, check that you installed all the needed libraries, and especially all the development packages.

Do not forget to look at the Compilation & Installation page. Maybe you will find important information specific to your distribution.

Source package configuration

When you are sure that everything is installed, type the following magic sentences in a shell.

'$' represents your shell prompt, and '...' are the messages printed during the configuration and compilation.

First, type that to create the configuration scripts.

$ ./reconf-all

Then type that to analyze the current system and configure the package:

$ ./configure -C
...

If a library or a development package is missing, then you will be warned that some components are disabled.

There are more 'configure' specific explanations in the INSTALL file located in the top-level source directory. I invite you to read them.

Compilation

If everything is configured without error, then run this command to compile the program:

$ make
...

Installation

If everything compiles without error, then enter this command to install everything:

You must be root to install Gambas on your system.

$ su -c "make install"
Password: <Type the root password here>
...

or

$ sudo make install
Password: <Type your password here>
...

Troubleshooting

If you did several successive compilations, after having updated the source from the subversion repository for example, and if something fails during all this process, you can try to "reconfigure" the configuration scripts by typing the following command:

$ ./reconf-all

Then you can run ./configure -C again

If it does not work, I need to know what happened exactly. To do so, type the following command :

$ ( ./configure -C; make; make install ) > output.txt 2>&1

And send me the file "output.txt" by mail, with every other detail about your computer and your distribution you find useful.

Running Gambas

If everything was fine, type "gambas2" to run the development environment.

Enjoy it !

See also