Documentation de Gambas - /doc/release/2.99.6

/doc/release/2.99.6

# Gambas 3 RC6

- Quoi de neuf?

- Journal des Changements

- Nécéssités

- Compilation & Installation

  - Vérifier l’installation

  - Configuration du paquet Source

  - Compilation

  - Installation

  - Dépannage

  - Exécuter Gambas

## Quoi de neuf?

Cette édition est la sixième révision de la version candidate de Gambas 3.

Trente et un bogues ont été corrigés, dont certains importants au sein même de l’interpréteur, et le composant /wiki/doc/comp/gb.report a été mis à jour.

Comme à l'accoutumée, transmettez s'il vous plait tout problème de compilation ou de paquetage à la mailing-liste!

Merci d'avance.

## Journal des Changements

    [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.

## Nécéssités

Pour compiler Gambas, vous devez installer sur votre système les bibliothèques suivantes :

Composant | Nécessite
--- | ---
Compilation | `gcc` `g++` `automake` `autoconf` `libtool > 2.0`
Interpreteur | `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` | Toutes les bibliothèques GTK+ >= 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` | Toutes les bibliothèques qt 4 >= 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`

Et n’oubliez pas d’installer tous les paquets de développement relatifs!

Essayez de toujours utiliser une version récente de ces bibliothèques.

Pour compiler l’environnement de développement, vous devez compiler les composants suivants :

- 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

Vous devez posséder les droits en écriture sur `/tmp`, sinon Gambas ne fonctionnera pas.

Ce paquet a été réalisé avec les versions suivantes des outils GNU sur Ubuntu 10.10:

- `automake` 1.11.1

- `autoconf` 2.67

- `libtool` 2.2.6b

## Compilation & Installation

### Vérifier l’installation

Tout d’abord, assurez vous que vous avez installé toutes les bibliothèques nécessaires, et tout spécialement, tous les paquets de développement.

N’oubliez pas de consulter la page Compilation et Installation. Vous y trouverez peut être des informations spécifiques à votre distribution.

### Configuration du paquet Source

Quand vous serez certains que tout est installé, entrez dans une console les phrases magiques suivantes.

`'$'` represente votre invite de shell, et `'...'` les messages affichés pendant la configuration et la compilation.

Tapez d’abord ceci pour créer les scripts de configuration.

    $ ./reconf-all

Puis cela pour analyser le système en cours et configurer le paquetage :

    $ ./configure -C
    ...

Si une bibliothèque ou un paquet fait défaut, vous serez alors avertis que quelques composants sont désactivés.

Il y a des explications complémentaires spécifiques à 'configure' dans le fichier `INSTALL` situé au sommet de l’arborescence du code source. Je vous invite à les lire.

### Compilation

Si tout est configuré sans erreur, lancez alors cette commande pour compiler le programme :

    $ make
    ...

### Installation

Si tout se compile sans erreur, lancez enfin cette commande pour tout installer :

Vous devez être `root` (administrateur) pour installer Gambas sur votre système.

    $ su -c "make install"
    Password: <Entrez ici le mot de passe root>
    ...

ou

    $ sudo make install
    Password: <Entrez ici votre mot de passe>
    ...

### Dépannage

Si vous faites plusieurs compilations successives, après avoir mis à jour les sources à partir du dépôt Subversion par exemple, et si quelque chose échoue pendant tout ce processus, vous pouvez tenter de "reconfigurer" les scripts de configuration en entrant la commande suivante :

    $ ./reconf-all

Puis vous pouvez exécuter à nouveau `./configure -C`

Si ça ne fonctionne pas, il me faut savoir exactement ce qui est arrivé. Pour cela, tapez la commande suivante :

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

Et transmettez moi le fichier "output.txt" par mail, ainsi que tout autre détail qui vous paraît utile concernant votre machine et votre distribution.

### Exécuter Gambas

Si tout s’est bien passé, tapez "gambas3" pour lancer l’ environnement de développement.

Profitez en!

### Voir aussi

- Compilation et Installation