Veuillez m'excuser pour tous contretemps causés par mon erreur.
En février, j'ai mis à jour le compilateur Free
Pascal et l'environnent de développent intégré (EDI) Lazarus avec le script codebot
de getlazarus sur un ordinateur dont le système d'exploitation
était Ubuntu 17.10. Dernièrement, j'ai installé Free PascalFree Pascal/Lazarus à partir de zéro avec
l' outil fpcupdeluxe sur le même ordinateur après
avoir passé à Ubuntu 18.04. Comme expliqué ci-dessous, ce fut un peu
plus compliqué d'installer au lieu de mettre à jour avec ce logiciel.
Il a eu des bavures, de ma part il va sans dire, et le système d'exploitation Ubuntu 18.04 fraîchement installé a dû être réinstallé non sans difficulté. J'ai ajouté des avertissements dans le billet original : Installation de Ubuntu 18.04.1. Je tiens à souligner ici que les problèmes n’ont rien à voir avec fpcupdeluxe et Free Pascal/Lazarus. J'ai tout gâché en essayant de déterminer quelle bibliothèque OpenGL devait être installée.
Table des matières
- Programme d'installation de Lazarus : fpcedeluxe
- Disposition de l'EDI Lazarus
- La bibliothèque Open GL
- Compilation croisée
Lorsque j'ai passé à Ubuntu 17.10, en novembre de
l'année dernière, j'ai réinstallé le compilateur Free
Pascal et l'EDI Lazarus avec le programme
fpcupdeluxe
que j'ai compilé à partir du code source obtenu de
son dépôt
github. Cependant, quand il était temps d'installer Free
Pascal et Lazarus sur une nouvelle copie d'
Ubuntu 18.04.1 , je devais utiliser un binaire
compilé fpcupdeluxe-x86_64-linux (version v1.6.1g)
. Attention,
un correctif était annoncé alors autant utiliser la dernière version: https://github.com/newpascal/fpcupdeluxe/releases.
Ma première tentative d'utilisation de fpcupdeluxe
C'était un ajout assez important, mais ce n'était pas complet comme on le verra. J'ai ensuite installé FPC et Lazarus là où je voulais. En plus de changer le répertoire d'installation (cliquez sur le bouton Set InstallDir), la seule autre chose que j'ai faite a été d'appuyer sur le bouton Trunk comme indiqué sur l'image ci-dessous).
That was quite a large addition, but it was not complete as will be seen. I then proceeded to install FPC and Lazarus where I wanted it. Beside changing the installation directory (click on the button, the only other thing I did was to press on the Trunk button as shown on the image below.
L'installation du compilateur Free Pascal (version 3.1.1) et l'EDI
Lazarus (version 1.9.0) s'est terminée avec succès. Le seul autre changement
que j'ai fait a été de copier le fichier d'application .desktop
créé sur le bureau vers répertoire caché .local
.
Le nom « Bureaud » dépend bien sûr des paramètres régionaux du
système et il serait « Desktop » si le paramètre était
en-XX
par exemple. J'ai ensuite cliqué sur le bouton Afficher les applications
au bas
du lanceur et recherché Lazarus
. Le nom réel sera
Lazarus_dir
où dir
est le répertoire dans lequel
Lazarus a été installé. J'ai cliqué sur l'icône
avec le bouton droit de la souris puis sur l'Ajouter aux favoris
. De
cette façon, l'EDI Lazarus peut être démarré en cliquant sur l'icône dans
le lanceur.
Lorsque démarré, l'IDE affiche tout de manière classique: dans des fenêtres séparées.
Je n'aime pas cette multitude de fenêtres, alors
j'ai ajouté le paquet anchordockin
avec fpcupdeluxe
.
L'image ci-dessous montre l'apparence de l'EDI après l'installation de ce composant et quelques modifications des options. L'éditeur de la fiche est derrière l'éditeur de code. Les onglets situés au bas de ces éditeurs servent à les sélectionner.
Je voulais aussi installer synapse
et
bgrabitmap
de la même manière (cela doit être fait un module à
la fois). Cependant, bgrabitmap
ne s'installait et, de plus, je
ne pouvais pas reconstruire l'EDI (menu : Outils/Créer Lazarus
avec le profil: Normal IDE
, menu anglais :Tools/Build Lazarus with
Profile: Normal IDE
). Enfin, j'ai vu avec
Installer/désinstaller des paquets
(menu: Paquet
,
menu anglais: Install/Uninstall Packages/Package
) que
le paquet lazopenglcontext
était marqué pour l’installation,
mais n’était pas installé. Clairement, il y avait un problème avec OpenGL. La fenêtre de sortie de fpcupdeluxe
montrait que la bibliothèque GL était introuvable lors de la liaison.
Il est signalé dans un certain nombre de messages dans le forum Lazarus que la bibliothèque libgl-dev
doit
nécessairement être présente dans les systèmes Linux.
D'ailleurs il me semblait que j'avais dû faire cela auparavant, mais la
bibliothèque n'est plus disponible dans Ubuntu.
En regardant le Web, j'ai trouvé une référence (que je ne trouve plus)
suggérant que la bibliothèque libgl1-mesa-dev
fonctionnerait.
D'ailleurs, le gestionnaire de paquets Synaptic en
suggère tout autant : libglx-mesa0 - free implemetation of the OpenGL
API - GLX vendor library. Mesa is a 3-D graphics library with an API which is
very similar to that of OpenGL. J'ai donc installé cette
bibliothèque.
Le paquet lazopenglcontext.lpk
pouvait être enfin compilé et
installé. Une fois cela fait, le paquet OpenGL
pourrait être
installé et conséquemment l'onglet OpenGL
avec le composant
TOpenGLControl
a été ajouté à la palette des composants. Il
était également possible d'installer le paquet bgrabitmap
avec
fpcupdeluxe
.
En essayant de trouver la référence manquante mentionnée ci-dessus, j'ai
trouvé un sujet dans le forum askubuntu,
/usr/bin/x86_64-linux-gnu-ld: cannot find -lGL,
qui suggère que l'installation du paquet libgl1
aurait été
suffisante. Pour vérifier, j'ai enlevé libgl1-mesa-dev
et installé libgl1
avec Synaptic.
Il était encore possible de recompiler l'EDI de Lazarus.
Ensuite, j'ai essayé de nettoyer la distribution avec le commandement
sudo apt autoremove
.
Ce fut une grave erreur!
Cela a complètement ruiné la nouvelle installation d'Ubuntu 18.04.1
. Je n'arrivais pas récupérer et j'ai dû supprimer le système d'exploitation et tout installer à nouveau. Avant d'installer libgl1-mesa-dev
la deuxième fois, j'ai
vérifié et constaté que la bibliothèque libgl1
était déjà
installée par défaut dans la distribution (ou bien installé avec un autre
paquet). Cette seule bibliothèque n'était donc pas suffisante pour installer
le paquet de contexte OpenGL et libgl1-mesa-dev
était
effectivement nécessaire.
Comme mentionné ci-dessus, l'utilitaire fpcupdeluxe
peut
également être utilisé pour ajouter des chaînes d'outils de compilation
croisée. Il suffit de choisir le processeur et le système d'exploitation
cibles, puis de cliquer sur le bouton pour installer un compilateur croisé
Install cross-compiler
Avant le fiasco mentionné à la section précédente, j'avais installé le
compilateur croisé dont la cible était Windows 64 bits(CPU = x8664, OS
= Windows
) j'ai compilé un petit programme j'ai testé.
Application Linux (GTK2)
Application Windows 10
Il était trop difficile d'installer le compilateur croisé pour la cible Darwin (MacOS).
J'ai décidé de ne pas refaire cette étape à la deuxième installation de Ubuntu 18.04. Étant donné que j'ai un système à amorçage double, je devrais vraiment nettoyer ma partition Windows 10, puis ajouter la dernière version de Free Pascal/Lazarus.