Documentation de Gambas - /doc/release/2.99.2

/doc/release/2.99.2

# Gambas 3 RC2

- Quoi de neuf?

- ChangeLog

- Nécéssités

- Compilation & Installation

  - Vérifier l’installation

  - Configuration du paquet Source

  - Compilation

  - Installation

  - Dépannage

  - Faire tourner Gambas

## Quoi de neuf?

Cette édition est la deuxième édition candidate de Gambas 3.

Plus d'une centaine de bugs ont été réglés un peu partout, et les fonctionnalités suivantes ont été implémentées :

- Nouvelle traduction en Lithuanien.

- L'import CSV est plus judicieux.

- L'éditeur de menu a été repensé.

- Le formateur de code a été amélioré.

- Beaucoup d'exemples OpenGL ont été ajoutés.

- Un nouveau contrôle, DataComboView, remplace l'ancien DataComboMulti.

- Exist prend désormais un nouvel argument booléen optionnel, qui signifie à l’interpréteur si les liens symboliques doivent être suivis ou non.

- La propriété Application.Return a été supprimée. Maintenant, pour définir la valeur de sortie d'un processus, il suffit de la retourner depuis la fonction Main.

- Les champs de type de données sur 5 BIT de MySQL sont pris en charge.

- Gestion du protocole https dans la classe HttpClient .

- Gestion de tout type mime et tout jeu de caractères dans SmtpClient.

- Un tas de nouvelles fonctions a été ajouté aux composants OpenGL.

- Gestion du for fade in et du fade out dans le composantgb.sdl.sound.

Comme d'habitude, signalez tout problème de compilation et de paquetage dans la mailing-list!

Merci d'avance.

## ChangeLog

    [CONFIGURATION]
    * BUG: Suppression des fichiers ltmain.sh générés.
    * NEW: Mise à jour des adresses FSF dans chaque fichier source.

    [ENVIRONNEMENT de DÉVELOPPEMENT]
    * BUG: Correction de la gestion clavier dans la liste des procédures de l’éditeur .
    * BUG: Dans la procédure liste, la recherche d'une procédure en tapant son nom
      déroule correctement la liste.
    * BUG: Les classes provenant de bibliothèques sont désormais correctement prises en compte dans la complétion automatique.
    * BUG: Corrige la disposition de la fenêtre d'aide la première fois qu'elle est affichée.
    * BUG: Pas d'échec lorsqu'il n'y a pas encore de fichier de paramètres de l'IDE.
    * BUG: Au chargement d'un projet Gambas 2 project, les propriétés de couleur de fond et de premier plan de GridView.Data  sont converties correctement.
    * BUG: Correction du paquetage Autotools project.
    * BUG: Le paquetage Autotools project ne peut pas gérer les dépendances des paquetages supplémentaire.
    * BUG: Le paquetage Autotools project ne peut pas encore gérer les dépendances des fichiers.
    Ce sera corrigé ultérieurement.
    * BUG: Correction du chargement des anciens projets Gambas 3 sans répertoire ".src".
    * BUG: Les tableaux Multi-dimensionnels ne sont pas correctement affichés par le débogueur.
    * BUG: L'héritage Circulaire ne fige plus la complétion automatique.
    * BUG: Ne masque pas immédiatement le message ballon affiché dans l'arborescence projet.
    * BUG: N’incrémente plus le numéro de publication de version quand on fait un paquetage d'installation.
    * BUG: Retrait de l'entrée menu "affichage de la boîte à outils". Son comportement n'était pas du tout intuitif.
    * BUG: Clicker sur un indice de  table vide dans l'éditeur de base de données ne crash plus.
    * BUG: Ajout de l'entrée pkgdesc manquante dans PKGBUILD.
    * BUG: Ne crash pas au scan d'une classe, si celle ci hérite d'un formulaire.
    * BUG: Démarrer une nouvelle recherche réinitialise automatiquement la liste de recherche.
    * BUG: Double-clicker sur un contrôle quand le projet tourne ne tente plus d'insérer un gestionnaire d'évènement.
    * BUG: Les classes exportées cachées ne peuvent pas être des contrôles!
    * BUG: Modifier de nombreuses fois les champs et les indices d'une table fonctionne désormais correctement
    * BUG: Correction du glisser déposer entre deux fenêtres de l'IDE.
    * NEW: La liste des fichiers récents devrait maintenant être correctement rafraîchie quand une autre instance
      Gambas la met à jour.
    * NEW: Mise à jour de la traduction Tchèque.
    * NEW: Traduction Lituanienne faite par Regimantas Baublys.
    * NEW: Ajout de la gestion du latin.
    * NEW: Emploi de la nouvelle propriété Application.ShowTooltips.
    * NEW: Mise à jour de la traduction Catalane.
    * NEW: L'éditeur de base de données peut désormais exporter les données de table data et les requêtes dans un fichier
      CSV.
    * NEW: Prise en compte de la méthode spéciale "_property" dans la complétion automatique.
    * NEW: Changement du code des snippets par defaut.
    * NEW: Tapper ENTER dans une ligne de commentaire démarre automatiquement une nouvelle ligne de commentaire. L'usage de SHIFT désactive cette fonctionnalité.
    * NEW: "Pretty print" est maintenant "Format code".
    * NEW: Nouvel onglet d'option formateur de code dans le dialogue option.
    * NEW: Option formater le code au chargement ou à la sauvegarde d'un fichier.
    * NEW: L'éditeur de menu a été redessiné.
    * NEW: Pretty printer agit maintenant sur le texte sélectionné .
    * NEW: L'importation CSV import et la conversion automatique de champ peuvent maintenant prendre en charge les données localisées et non localisées (c. à d. les nombres flottants avec point ou virgule).

    [SCRIPT WIKI CGI ]
    * BUG: La page principale est maintenant correctement dépendante de la version.
    * BUG: Ne pas ajouter "v3" à la fin d'un lien qui a explicitement "v2" .
    * NEW: Utilisez maintenant la combo-box pour choisir la version en cours.
    * NEW: Mise à jour de la traduction Catalane.
    * NEW: Documentation OpenGL  Automatique.

    [GENERATEUR de SITE WEB]
    * NEW: Activation du bouton téléchargement de Gambas 3 .
    * NEW: Mise à jour de la traduction Tchèque.
    * NEW: Mise à jour de Gambas 2.23.1.

    [EXEMPLES]
    * BUG: Retrait de l'exemple d'impression de Code barre, il ne fonctionne plus.
    * NEW: Nouvel exemple basé sur la bibliothèque Scientifique GNU, fait par Juergen
      Zdero et que j'ai modofié.
    * NEW: Lighttable : ajout de menu pour ouverture d'un nouveau dossier.
    * NEW: Mise à jour de la traduction en Catalan de quelques exemples.
    * NEW: Ajout d'exemples NeHe OpenGL compilés par Kevin Fishburne. Il y a deux projets : un qui inclut tous les exemples, l'autre qui est un shell GUI pour compiler et lancer ces exemples.
    * NEW: Emploi de nouveaux noms de constantes OpenGL dans les exemples OpenGL.
    * NEW: Ajout de l'exemple oublié TunnelSDL .
    * NEW: Emploi de nouveaux noms de constantes OpenGL dans l'exemple 3DWebCam.

    [INTERPRETEUR]
    * BUG: La libération récursive des objets en cours à la fin du programme est désormais plus robuste.
    * BUG: L'emploi de "AM/PM" dans le format de date n'est plus confondu avec la date qui suit dans la conversion en chaîne.
    * BUG: Correction de la conversion d'un flottant en date quand le nombre est négatif.
    * BUG: Eval("Me") ne crash plus.
    * BUG: [...] retourne maintenant un tableau de booléens correct quand ses arguments sont tous de booléens.
    * BUG: Correction d'une fuite possible de mémoire si l'opérateur de création de tableau [...] échoue pour une raison quelconque.
    * BUG: Les instructions Write et Read gèrent maintenant les valeurs NULL sans crash.
    * BUG: Les chaînes constantes traduisibles sont désormais correctement traduites quand elles sont employées comme des symboles public.
    * BUG: Correction de la gestion des caractères d'échappement dans les chaînes au format date.
    * NEW: Stream.Lines est une nouvelle propriété qui permet d'énumérer un flux ligne par ligne jusqu'à ce que fin de flux soit atteint.
    * NEW: '_property' est une nouvelle méthode spéciale qui doit retourner TRUE quand un symbole inconnu (stocké dans Param.Name) est une propriété. Si cette méthode spéciale n'est pas implémentée, tous les symboles inconnus sont des méthodes.
    * NEW: Retrait de la constante obsolète gb.Text.
    * NEW: Param.Property a été supprimé.
    * NEW: Suppression de l'API GB.IsProperty(), inutile maintenant.
    * NEW: Byte[].FromString() est maintenant une méthode statique qui crée un nouveau tableau d'octets à partir d'une chaîne.
    * NEW: Suppression de l'API GB.ExistFile() inutilisée.
    * NEW: Exist() prend désormais un argument optionnel Booléen additionnel qui précise si les liens symboliques doivent être suivis, comme like Stat().
    * NEW: Suppression de la gestion du préchargement de la  bibliothèque partagée Qt 3 inutilisé.
    * NEW: Prise en compte de profiling. Non activé.
    * NEW: Prise en compte d'un gestionnaire de signal Centralisé.
    * NEW: La fonction de démarrage Main peut retourner une valeur. Si cette valeur est un entier ou  un Booléen, il sera la valeur retournée au processus parent.
    * NEW: La propriété Application.Return a été supprimée.
    * NEW: Est plus robuste avec les signatures de méthode native qui oublient le ';' à la fin du nom de classe, pourvu qu'une parenthèse suive.
    * NEW: Avorte si une classe native déclare deux fois le même symbole.
    * NEW: Deux messages d'erreur standard déclarés en plus dans gambas.h

    [COMPILATEUR]
    * NEW: Prise en compte de la méthode spéciale '_property' . Cette méthode doit être
      public, dynamic, ne prend pas d'argument, et doit retourner un Booléen.

    [ARCHIVEUR]
    * NEW: N'avorte pas si les fanions de l’exécutable du fichier résultant ne peuvent être positionnés, parce que le système de fichier a été monté avec le fanion "noexec" (par exemple).

    [SCRIPTEUR]
    * BUG: Ne nécessite pas /tmp pour autoriser les fichiers exécutables.
    * BUG: Le lancement d'un script retourne désormais correctement la valeur spécifiée la propriété Application.Return.
    * NEW: Le nom en cache d'un script compilé est maintenant le nom de l'original stocké dans un répertoire dont le nom est la somme MD5.
    * NEW: Utilisation de la nouvelle manière de définir la valeur de sortie.

    [GB.DB]
    * BUG: L'erreur Type mismatch est désormais correctement levée quand on définit la valeur d'un champ Result.

    [GB.DB.FORM]
    * NEW: DataSource.Count est une nouvelle propriété qui retourne le nombre d'enregistrement de la source de données.
    * NEW: Remplacement du contrôle DataComboMulti par un DataComboView control. ça n'est pas complètement testé, mais ça fonctionne mieux que son prédécesseur.* NEW: Data controls icons were redesigned.
    * NEW: Ne redimensionne pas automatiquement les rangées dans DataView.
    * NEW: Dans Dataview, redimensionnement de la rangée en cours seulement.

    [GB.DB.MYSQL]
    * BUG: Quand on crée une table, emploi du mot clé "ENGINE" à la place de "TYPE" avec MySQL >= 4.0.18.
    * NEW: Prise en compte des champs de type de données MySQL 5 BIT(x).

    [GB.DB.ODBC]
    * BUG: Correction d'un crash stupide qui n'apparaissait que sur les systèmes 64 bits.

    [GB.DBUS]
    * BUG: Emploi de la nouvelle méthode spéciale '_property' pour implémenter les propriétés DBus.
    * BUG: Définir une propriété DBus ne fige plus. Mais il y a encore une fuite mémoire.
    * BUG: Correction d'une fuite mémoire lors de l'envoi d'un objet DBusVariant.
    * NEW: Ajout d'une méthode DBusConnection.Unregister pour désinscrir un objet Gambas du bus.
    Quand tous les objets sont désinscrits, l'application peut quitter.

    [GB.FORM]
    * BUG: Correction du tracé des dates colorisées dans le contrôle DateChooser .
    * BUG: Wizard containers est maintenant une classe cachée exportée, de sort que la complétion automatique fonctionne dans l'IDE.
    * BUG: Le réglage de la propriété ScrollArea.Painted fonctionne correctement maintenant.
    * BUG: Le problème avec ScrollArea ayant la  propriété Painted définie est vraiment réglé.
    * BUG: Les méthodes IconView MoveFirst(), MoveNext(), MovePrevious() and MoveTo()
      retournent maintenant correctement quand aucun item n'est disponible.
    * NEW: Ajout d'une action "open in file manager" dans les contrôles FileChooser et DirChooser, quand le composant  gb.desktop est chargé.
    * NEW: Mise à jour de la traduction Tchèque.
    * NEW: Mise à jour de la traduction Catalane.
    * NEW: IconPanel redimensionne maintenant automatiquement le panneau gauche pour l'ajuster à son contenu.
    * NEW: IconPanel prend maintenant en compte la roulette de la souris.

    [GB.FORM.DIALOG]
    * NEW: Mise à jour de la traduction Tchèque.
    * NEW: Mise à jour de la traduction Catalane.

    [GB.GTK]
    * BUG: Retrait de quelques points de débogage dans la classe Printer.
    * BUG: Lève correctement les évènements Show et Hide events dans la classe Watcher.
    * BUG: L'Application.ShowTooltips fonctionne réellement maintenant, et apparemment ce n'est pas sur la zone desktop, mais sur la zone application comme escompté.
    * BUG: Nettoyage de l’implémentation MovieBox.
    * BUG: Nettoyage de l’implémentation PictureBox.
    * BUG: Correction de la propriété aligment de PictureBox.
    * BUG: L'évènement Printer End est levé correctement.
    * BUG: Correction d'un crash dans GridView quand la bibliothèque partagée du composant gb.gtk est libérée.
    * BUG: Correction  de deux crashes dans GridView control.
    * BUG: Compile à nouveau avec GTK+ 2.x.
    * BUG: Correction  de l'affichage des fenêtres popup.
    * NEW: La claase virtuelle Application.Tooltip a été retirée.
    * NEW: Application.ShowTooltips est une nouvelle propriété pour définir si les tooltips sont visibles ou non.
    * NEW: MovieBox.Alignment est une nouvelle propriété qui définit l'alignement du film dans le cadre de la MovieBox.
    * NEW: GridView.Columns[].Expand est une nouvelle propriété qui permet de fixer si une colonne s'élargit automatiquement pour s'adapter à la largeur visible de la GridView, alors que la propriété GridView.AutoResize est fixée. Si aucune colonne n'a sa propriété Expand fixée, alors la dernière colonne s'agrandira quoiqu'il arrive.
    * NEW: Retrait de la propriété Window.Type et de la classe WindowType.

    [GB.IMAGE]
    * BUG: Image.PaintImage() gère incorrectement la composition avec le canal alpha.

    [GB.NET.CURL]
    * BUG: Correction de la propriété URL HttpClient.
    * BUG: HttpClient.Post et HttpClient.Put sont maintenant plus tolérants quand ils testent la validité du type de contenu.
    * BUG: Refuse les URLs vides dans HttpClient et FtpClient.
    * NEW: Prise en compte du protocole https dans le client HTTP.
    * NEW: La chaîne agent utilisateur par défaut de HttpClient est maintenant (sur Linux) :
      "Gambas/3.0 (gb.net.curl; Linux)"

    [GB.NET.SMTP]
    * BUG: Recherche de openssl dans '/usr/bin' ou '/bin', et levée d'une erreur s'il n'est pas trouvé.
    * BUG: Ne crash pas si le sujet est vide.
    * NEW: Permet au sujet d'être une chaîne vide.
    * NEW: Gestion de tout type mime et tout jeu de caractère dans SmtpClient.

    [GB.OPENGL]
    * BUG: Plus besoin de chercher le fichier glu.h.
    * BUG: Utilisation de pkg-config pour détecter les bibliothèques nécessaires, devrait corriger la construction sur OSX.
    * BUG: Restaure le préfixe GL dans le header d'inclusion glew pour les paquets basés sur debian.
    * BUG: Spécifie Correctement le nombre de composantes couleur quand on utilise une Image
     dans une fonction OpenGL : glTexImage1D, glTexImage2D, gluBuild2DMipmaps...
    * BUG: Dans GLeval.c, GB_SINGLE remplacé par GB_FLOAT pour que Gl2Map fonctionne.
    * BUG: Trois constantes et méthodes ont le même nom. J'ai donc ajouté un tiret bas de casse à ces constantes pour règler ça. Maintenant, vous devez utiliser GL.ACCUM_, GL_CLEAR_, and GL_VIEWPORT_.
    * BUG: Double définition de TEXTURE_RECTANGLE_ARB - j'en ai supprimé une.
    * NEW: Ajout de la prise en compte de GL evaluators, quelques Gets associés manquent. (Tomek)
    * NEW: Gl.CheckExtensions() pour vérifier les extensions du driver openGL /la gestion de capacité.
    * NEW: Multitexture mapping constants and gl.ActiveTexture function.
    * NEW: Ajout des fonctions de l'extension FramebufferObject.
    * NEW: Ajout de toutes les constantes pour l'extension GL_EXT_framebufferobject
    * NEW: Suppression de "GL_" danq les noms de constantes de la classe Gl. Les anciens noms de constantes sont gérés, mais émettent un message d'alerte.
    * NEW: Ajout des méthodes Gl.BindRenderbufferEXT(), Gl.GenRenderbuffersEXT() et Gl.IsRenderbufferEXT().
    * NEW: Ajout des méthodes Gl.DeleteFramebuffersEXT(), Gl.DeleteRenderbuffersEXT(),
      Gl.IsFramebufferEXT() et Gl.RenderbufferStorageEXT().
    * NEW: Ajout des méthodes Gl.FramebufferRenderbufferEXT(), Gl.FramebufferTexture1DEXT(),   Gl.FramebufferTexture3DEXT(), Gl.GenerateMipmapEXT(), Gl.GetFramebufferAttachmentParameterivEXT(),
      Gl.GetRenderbufferParameterivEXT().
    * NEW: Ajout de la gestion de l'estension GL_ARB_texture_rectangle.
    * NEW: Ajout de la méthode Gl.EvalCoord2fv() evaluator.
    * NEW: Fonctions glTexGen et glMultiTexcoord .

    [GB.OPENGL.GLSL]
    * BUG: Restaure le prefixe GL dans le header d'inclusion glew  pour les paquets basés sur Debian.
    * BUG: Retrait des fonctions d'extension FramebufferObject pour le composant glsl.
    * NEW: Définition de la variable attribut GLSL et fonctions de paramétrage.

    [GB.OPENGL.GLU]
    * NEW: Fonctions Nurbs .
    * NEW: Formes quadratiques de base (sphère, cylindre, cône, disque).
    * NEW: suppression du préfixe "GLU_" dans les constantes GLU.
    * NEW: Ajout de nombreuses constantes GLU  utilisées par les méthodes GLU implémentées dans le composant.
    * NEW: Ajout des méthodes Glu.QuadricOrientation() et Glu.QuadricDrawStyle().

    [GB.PDF]
    * BUG: gb.pdf compile maintenant avec poppler 0.17.

    [GB.QT4]
    * BUG: Les couleurs de fond et de premier plan par défaut de GridView default background and foreground colors sont correctement prises en comptes maintenant.
    * NEW: La classe virtuelle Application.Tooltip a été supprimée.
    * NEW: Application.ShowTooltips est une nouvelle propriété qui définit si les tooltips are
      visibles ou pas.
    * NEW: MovieBox.Alignment est une nouvelle propriété qui définit l'alignement du film dans le cadre MovieBox.
    * NEW: GridView.Columns[].Expand est une nouvelle propriété qui permet de définir si une colonne s'élargit automatiquement pour s'adapter pour s'adapter à la largeur visible de la GridView, alors que la propriété  GridView.AutoResize est activée. Si aucune colonne n'a sa propriété Expand fixée, alors la dernière colonne s'agrandira quoiqu'il arrive.
    * NEW: Suppression de la propriété Window.Type et de la classe WindowType.

    [GB.QT4.EXT]
    * BUG: Correction de la manière dont la visibilité du curseur est assurée dans la classe Editor.
    * BUG: Quelques Corrections dans la gestion de undo/redo de la classe Editor.
    * BUG: Correction d'une variable non uninitialisée dans la classe Editor.
    * BUG: Correction de la gestion de undo/redo dans le contrôle Editor .
    * BUG: Dans Editor, Correction de la prise en compte des lignes de texte comportant des caractères non-ascii.

    [GB.REPORT]
    * NEW: Mise à jour de la traduction Tchèque.
    * NEW: Mise à jour de la traduction Catalane.

    [GB.SDL]
    * BUG: Activation de la prise en compte du tampon pochoir.
    * BUG: Utilisation de pkg-config détecter correctement les dépendances.
    * BUG: Resauration du prefix GL dans le header d'inclusion glew pour les paquets basés sur Debian.
    * BUG: SDL_ttf antérieur à  2.0.10 ne fournit pas de fichier pkg-config, donc ajout manuel du test de fichiers.
    * BUG: Ajout de la liaison manquante avec libXcursor.
    * BUG: Correction d'un  typo dans configure.ac
    * BUG: Reconsidération de la manière dont les évènements clavier sont traités, pour que les constantes SDL
     soient employées. En conséquence, toutes les constantes de touche fonctionnent maintenant, mais '1' et
      '&' ont des codes différents sur un clavier français. Key.Text fonctionne également.
    * BUG: Key[x] fonctionne correctement avec les touches des lettres maintenant.
    * NEW: Key.Repeat est une nouvelle propriété  static pour activer la  répétition de touche.

    [GB.SDL.SOUND]
    * BUG: L'allocation de plus de 8 canaux fonctionne correctement.
    * NEW: Implémentation de la gestion du fade in et fade out dans les classes Sound et Channel.
    * NEW: Le nombre maximum de canaux est maintenant de 64.

    [GB.SETTINGS]
    * BUG: Utilisation de lock pour éviter les écritures simultanées dans le même fichier de configuration.
    * NEW: La propriété Settings.Path a été renommée Settings.DefaultDir.
    * NEW: Settings.Path retourne maintenant le chemin vers les fichiers de configuration sur le disque.

    [GB.WEB]
    * BUG: JSON.Decode() retourne maintenant  NULL s'il n'y a pas de token dans la chaîne d'entrée.

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

### Faire tourner Gambas

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

Profitez en!

### Voir aussi

- Compilation et Installation