Gambas Documentation - /doc/release/2.99.6

/doc/release/2.99.6

# Gambas 3 RC6

- What's new

- ChangeLog

- Requirements

- Compilation & Installation

  - Check installation

  - Source package configuration

  - Compilation

  - Installation

  - Troubleshooting

  - Running Gambas

## What's new

This release is the sixth release candidate of Gambas 3.

Thirty-one bugs were fixed, with some important ones inside the interpreter, and the gb.report component was updated.

As usual, please report any compilation and packaging problem on the mailing-list!

Thanks in advance.

## ChangeLog

    [CONFIGURATION]
    * BUG: Fix many gcc 4.6.1 warnings.
    * NEW: Update the depcomp script with a more recent version.

    [DEVELOPMENT ENVIRONMENT]
    * BUG: Fix arrangement of translation dialog.
    * BUG: Colorize error tooltips differently in the source code editor, so
      that they are visible with all possible tooltip background colors.
    * BUG: The form editor now embeds controls in a container that depens on
      the form family (a Panel for a Form, a ReportPanel for a Report).
    * BUG: Try to handle when a project file has disappeared without being
      noticed by the IDE.
    * BUG: Ignore labels in code editor's control structure automatic
      completion.
    * NEW: Update of russian translation.

    [WEB SITE MAKER]
    * NEW: Update for Gambas 3 RC5.
    * NEW: Tribute to Dennis Ritchie.

    [EXAMPLES]
    * NEW: Add a watermark to the report example

    [INTERPRETER]
    * BUG: Fix loop management when big negative values are used.
    * BUG: Disable an incorrect FOR...NEXT optimization.
    * BUG: Support for different callbacks on the same function call.
    * BUG: Fix a useless and incorrect string initialization in the UTF-8 to
      UTF-16 internal conversion routine.
    * BUG: Native functions that return a string must not use the
      GB.ReturnNull() API, but GB.ReturnVoidString() instead. Fix the
      String.LCase() and String.UCase() functions accordingly.
    * BUG: Date() function takes one argument, or at least three arguments now.
    * BUG: Fix negative year support in date management.
    * BUG: Do not use GB.ReturnNull() when returning a void string anymore. Use
      the new GB.ReturnVoidString() API instead.
    * BUG: Fix hash table resizing routine.
    * BUG: Fix function calls for functions taking optional arguments and extra
      arguments.
    * BUG: If() and the [...] operator now raise an error when they get a
      non-standard datatype, instead of crashing.

    [GB.DB.POSTGRESQL]
    * BUG: Fix primary index retrieving for tables inside a schema.

    [GB.EVAL.HIGHLIGHT]
    * BUG: Fix HTML highlighting routine.

    [GB.FORM]
    * BUG: Fix compilation of gb.form.
    * BUG: Fix a possible crash in the IconView.Key property.

    [GB.GTK]
    * BUG: Container.Children.Clear() should work correctly now.
    * BUG: Fix the MoveLast() method in TreeView, ListView and ColumnView
      controls.
    * BUG: The ColumnView.Columns[].Width now returns the column width
      correctly.
    * BUG: Workaround stupid GTK+ popup management.

    [GB.NET]
    * BUG: Fix DnsClient in asynchronous mode.

    [GB.NET.CURL]
    * BUG: FtpClient and HttpClient actually must be asynchronous by default.

    [GB.QT4]
    * BUG: Fix the simultaneous use of Window Border and Resizable properties.
    * BUG: Fix initial focus handling of popups.

    [GB.QT4.EXT]
    * BUG: Do not crash when trying to fold a procedure inside a void file.

    [GB.REPORT]
    * BUG: Fix arrangement algorithm.
    * NEW: Left and Top properties allow relative position for ignored
      elements.
    * NEW: Fixed elements can be expanded.
    * NEW: ReportPanel comes back. It has 4 ways of possible arrangements:
      None, Vertical, Horizontal, Fill. Only the vertical arrangement allows to
      generate new pages automatiquely.
    * NEW: The Left and Top properties now allow free position on Arrange.None
      or when the controls have their Ignored property set. They support
      relative position too.
    * NEW: The Ignore property now works correctly.
    * NEW: Now an Ignored control can have a fixed position... Welcome to the
      watermark!
    * NEW: Add an icon for the ReportPanel control.
    * OPT: Some code clean up.
    * OPT: Hide Key and Data properties, they are not usable at the moment.

## Requirements

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

Component | Requirements
--- | ---
Compilation | `gcc` `g++` `automake` `autoconf` `libtool > 2.0`
Interpreter | `libffi`
`gb.compress.bzlib2` | `libbz2.so`
`gb.compress.zlib` | `libz.so`
`gb.cairo` | `cairo`
`gb.crypt` | `libcrypt.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 `librsvg2.so` `cairo`
`gb.image.io` | `gdk-pixbuf`
`gb.image.imlib` | `imlib`
`gb.net.curl` | `libcurl.so`
`gb.opengl` `gb.opengl.glsl` | `libGL.so`, `libGLEW.so`
`gb.opengl.glu` | `libGLU.so`
`gb.pcre` | `libpcre.so`
`gb.pdf` | `libpoppler.so`
`gb.qt4` `gb.qt4.ext` `gb.qt4.opengl` `gb.qt4.webkit` | All qt 4 libraries >= Qt 4.5
`gb.sdl` | `libSDL.so`, `libSDL_ttf.so`, `libGL.so`, `libGLEW.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.

In order to compile the development environment, you have to compile the following components:

- gb.db

- gb.db.form

- gb.debug

- gb.desktop

- gb.eval

- gb.eval.highlight

- gb.form

- gb.form.dialog

- gb.form.mdi

- gb.image

- gb.image.effect

- gb.qt4

- gb.qt4.ext

- gb.qt4.webkit

- gb.settings

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 "gambas3" to run the development environment.

Enjoy it !

### See also

- Compilation & Installation