doc • release • 2.24.0

Gambas 2.24.0

What's new

This release should be the very last version of Gambas2.

It includes all pending bug fixes that were not yet released. Moreover, it can be compiled against Trinity.

ChangeLog

[CONFIGURATION]
* NEW: Remove ltmain.sh symbolic links.

[DEVELOPMENT ENVIRONMENT]
* BUG: Saving a project inside its own directory is now forbidden.
* NEW: Lithuanian translation made by Regimantas Baublys.
* NEW: Add support for latin language.

[INTERPRETER]
* BUG: Fix GB.MatchString() API return value.
* BUG: DateAdd() does not raise an overflow error anymore when used on a
  time value.
* BUG: Fix interpreter API for 64 bits systems.
* BUG: Try to not lose the value of 'errno' if the select() system call
  fails inside the event loop.
* BUG: Fix function calls for functions taking optional arguments and extra
  arguments.

[COMPILER]
* BUG: Really support reserved words in form control names.

[DB.FIREBIRD]
* BUG: Fix building with gcc-4.6.0.

[GB.DB.MYSQL]
* BUG: When creating a table, use "ENGINE" keyword instead of "TYPE" with
  MySQL >= 4.0.18.

[GB.DB.ODBC]
* BUG: Fix a stupid crash that occurs on 64 bits systems only.

[GB.DESKTOP]
* BUG: Fix Desktop.Find() when matching window titles.

[GB.GTK]
* BUG: Correctly raise Show and Hide events in the Watcher class.

[GB.NET]
* BUG: Correctly check system errors when using a asynchronous DnsClient.

[GB.NET.SMTP]
* BUG: gb.net.smtp now should compile correctly with header files that use
  the "boolean" symbol.

[GB.PDF]
* BUG: Make gb.pdf compile with poppler 0.17.

[GB.QT.KDE]
* NEW: Support for Trinity.

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 11.10:

  • automake 1.11.1

  • autoconf 2.68

  • libtool 2.4

Compiling with older version may or may not work!

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