Documentation de Gambas - /doc/release/3.1.1

/doc/release/3.1.1

# Gambas 3.1.1

- What's new

- ChangeLog

- Requirements

- Compilation & Installation

  - Check installation

  - Source package configuration

  - Compilation

  - Installation

  - Troubleshooting

  - Running Gambas

## What's new

This release fixes some annoying bugs that were still present in Gambas 3.1. Use it instead of the 3.1.0 version.

## ChangeLog

    [DEVELOPMENT ENVIRONMENT]
    * BUG: Prevent Qt from crashing when canceling a file rename, by not
      reentering the event loop with WAIT.
    * BUG: Do not try to refresh a deleted directory in the project tree.
    * BUG: Module and class creation is possible again.

    [INTERPRETER]
    * BUG: Correctly raise errors when running an external process fails.

    [GB.FORM]
    * BUG: GridView.RowAt() and GridView.ColumnAt() now correctly take the
      headers into account.
    * BUG: Fix GridView artifacts when there is no rows or if an incorrect
      value has been set to the Header property.
    * BUG: GridView: Only the left mouse button click hides the selection and
      moves the cursor now.
    * BUG: GridView: MouseDown events are correctly raised now.
    * NEW: ScrollArea ScrollW and ScrollH synonymous properties were added.

    [GB.GTK]
    * BUG: Try to handle Leave/Enter events the same way as in gb.qt4.
    * BUG: The Menu event is now correctly raised even if the MouseDown event
      is cancelled.

    [GB.QT4.EXT]
    * BUG: Fix some use of uninitialized variables in Editor.

## Requirements

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

Component | Requirements
--- | ---
Compilation | `gcc` `g++` `automake` `autoconf` `libtool > 2.4` (See requirements on autotools versions below)
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.gsl` | `libgsl.so` `libgslcblas.so`
`gb.gtk` | All GTK+ libraries >= 2.14 `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 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 "gambas3" to run the development environment.

Enjoy it !

### See also

- Compilation & Installation