Lazarus est un environnement de développement open source pour développer des programmes en langage pascal. Pour ceux qui ont connu TurboPascal et Delphi ils retrouveront un environnement familier. Cet article vous montre comment installer la dernière version (IDE 1.9.0)
J’aime particulièrement le Pascal pour développer rapidement des petits programmes de test avec une interface graphique y compris pour l’accès bas niveau (voir https://www.framboise314.fr/evaluation-du-lsm9ds1-un-capteur-9-degres-de-liberte/), et pour des programmes qui auront une longue durée de vie : si je dois revenir quelques années après sur un bout de code j’apprécie qu’il soit lisible,
Mais si, comme indiqué dans l’article ci-dessus, Lazarus s’installe en 2 commandes apt-get (sur Rpi3), il s’agit on aura qu’une version ancienne (1,2,4).
Pour avoir la dernière version il faudra compiler les sources. J’ai trouvé ici : https://www.tweaking4all.com/hardware/raspberry-pi/install-lazarus-pascal-on-raspberry-pi-2/ la démarche mais l’article étant assez ancien j’ai du tâtonner pour obtenir le résultat souhaité. J’espère donc que cet article vous fera gagner du temps,
Au sommaire :
Prérequis
Si vous n’avez pas déjà svn (logiciel de synchronisation pour les développements concurrents) :
sudo apt-get install -y subversion
Il est aussi prudent d’augmenter la taille du swap
sudo nano /etc/dphys-swapfile
puis si besoin changer la ligne CONF_SWAPSIZE pour allouer 1000 Mo,
CONF_SWAPSIZE=1000
Redémarrez votre Rpi.
Principe
Lazarus utilise fpc (Free Pascal Compiler) lui-même compilé avec… fpc, C’est le problème de l’œuf et de la poule : il nous faut un compilateur fonctionnant sur notre Pi pour compiler le compilateur et l’IDE Lazarus.
A partir de ce compilateur exécutable on compilera la dernière version du compilateur puis l’IDE.
Etape 1 : compilateur initial
En cherchant sur le site Freepascal j’ai repéré un binaire exécutable sur Raspberry en version 3.0.2
On va l’installer dans le répertoire /usr/local/fpc :
sudo mkdir /usr/local/fpc
cd /usr/local/fpc
sudo wget http://sourceforge.net/projects/freepascal/files/Linux/3.0.2/fpc-3.0.2.arm-linux-eabihf-raspberry.tar
sudo tar xvf fpc-3.0.2.arm-linux-eabihf-raspberry.tar
cd fpc-3.0.2.arm-linux
puis installation :
sudo ./install.sh
à la question Install prefix (/usr or /usr/local) [/usr] : répondre /usr/local
à la question mode IDE j’ai répondu y
pas besoin de la documentation ni des démos
On contrôle que le compilateur est bien installé en tapant :
fpc
Vérifier que la réponse est :
Free Pascal Compiler version 3.0.2 [2017/02/17] for arm
Copyright (c) 1993-2017 by Florian Klaempfl and others
/usr/local/bin/fpc [options] [options]
Only options valid for the default or selected platform are listed.
Put + after a boolean switch option to enable it, - to disable it.
@ Read compiler options from in addition to the default fpc.cfg
-a The compiler does not delete the generated assembler file
-al List sourcecode lines in assembler file
-an List node info in assembler file (-dEXTDEBUG compiler)
-ao Add an extra option to external assembler call (ignored for internal)
-ap Use pipes instead of creating temporary assembler files
-ar List register allocation/release info in assembler file
-at List temp allocation/release info in assembler file
-A Output format:
-Adefault Use default assembler
-Aas Assemble using GNU AS
-b Generate browser info
-bl Generate local symbol info
-B Build all modules
-C Code generation options:
-C3 Turn on ieee error checking for constants
-Ca Select ABI; see fpc -i or fpc -ia for possible values
*** press enter ***
Etape 2 : compilation de la dernière version du compilateur
On récupère les sources dans le dossier /usr/local/fpc :
cd /usr/local/fpc
sudo svn co http://svn.freepascal.org/svn/fpc/trunk source
Nota : la branche trunk pointe sur la dernière version stable, soit fpc 3.3.1
puis on compile et installe la dernière version :
cd source
sudo make all OPT=-dFPC_ARMHF
sudo make install OPT=-dFPC_ARMHF PREFIX=/usr/local
sudo make install sourceinstall OPT=-dFPC_ARMHF PREFIX=/usr/local
A ce stade 3.3.1 est compilé mais si nous faisons fpc nous avons toujours 3.0.2 par défaut
on peut voir avec
ls /usr/local/lib/fpc
3.0.2 3.3.1 lexyacc
Pour définir 3.3.1 comme version par défaut :
sudo rm -f /usr/local/bin/ppcarm
sudo ln -sf /usr/local/lib/fpc/3.3.1/ppcarm /usr/local/bin/ppcarm
Contrôle :
ls -l /usr/local/bin/ppcarm
doit répondre
lrwxrwxrwx 1 root root 31 sept. 1 11:22 /usr/local/bin/ppcarm -> /usr/local/lib/fpc/3.3.1/ppcarm
et
fpc
Free Pascal Compiler version 3.3.1 [2018/09/01] for arm
Copyright (c) 1993-2018 by Florian Klaempfl and others
/usr/local/bin/fpc [options] [options]
Only options valid for the default or selected platform are listed.
Put + after a boolean switch option to enable it, - to disable it.
@ Read compiler options from in addition to the default fpc.cfg
-a The compiler does not delete the generated assembler file
-a5 Don't generate Big Obj COFF files for GNU Binutils older than 2.25 (Windows, NativeNT)
-al List sourcecode lines in assembler file
-an List node info in assembler file (-dEXTDEBUG compiler)
-ao Add an extra option to external assembler call (ignored for internal)
-ap Use pipes instead of creating temporary assembler files
-ar List register allocation/release info in assembler file
-at List temp allocation/release info in assembler file
-A Output format:
-Adefault Use default assembler
-Aas Assemble using GNU AS
-b Generate browser info
-bl Generate local symbol info
*** press enter ***
Etape 3 : compilation de l’IDE
On peut passer à la compilation de l’IDE.
Au préalable on installe les paquets requis :
sudo apt-get install -y libx11-dev libgdk-pixbuf2.0-dev libcairo2-dev gir1.2-coglpango-1.0 libpangox-1.0-dev xorg-dev libgtk2.0-dev libpango1.0-dev
Récupération des sources dans le dossier /usr/local/lazarus:
sudo mkdir /usr/local/lazarus
cd /usr/local/lazarus
sudo svn co http://svn.freepascal.org/svn/lazarus/trunk source
A partir de là, la commande indiquée sur Tweaking4All (sudo make all OPT=-dFPC_ARMHF) échoue. A la place j’ai lancé la commande :
cd source
sudo make bigide
Puis j’ai quand même lancé la commande :
sudo make install OPT=-dFPC_ARMHF PREFIX=/usr/local
probablement inutile.
Enfin pour lancer l’ide la première fois
sudo ./lazarus
Au premier lancement il faut indiquer l’emplacement des sources de fpc :
La version de l’IDE au moment de cet article est la 1.9.0.
Le tout m’a pris environ 3h, j’ai donc commencé par faire une copie image de sauvegarde de la carte micro-SD.
Compléments
On pourra mettre dans le menu de programmation /usr/local/lazarus/source/startlazarus,
On supprimera le dossier fpc 3.0.2
Enfin j’ai gardé les sources fpc et lazarus car il suffira de faire un svn update pour récupérer les dernières versions.
Bonjour !
Il est possible d’installer lazarus 1.8.4 en passant par le dépôt stretch-backports.
Faire ceci :
sudo leafpad /etc/apt/sources.list
‘ajouter à la fin du fichier
deb http://ftp.debian.org/debian/ stretch-backports main
‘enregistrer le fichier et le fermer.
‘installer lazarus
sudo apt-get install -t stretch-backports lazarus
Par curiosité voici la liste des packages stretch-backports :
https://packages.debian.org/stretch-backports/allpackages?format=txt.gz
Grâce à ce dépôt vous pouvez installer libreoffice 6 …
sudo apt-get install -t stretch-backports libreoffice
Evidemment, Il faut sauvegarder votre carte SD avant d’expérimenter les packages de ce dépôt !
Pour d’autres packages récents vous pouvez aussi tester cette méthode :
https://flatpak.org/setup/
Bonne mise à jour de votre Framboise !
Merci pour cette information très intéressante.
A tout hasard connais-tu un dépôt qui propose une version récente de codeblocks ?
Bonsoir,
Le dépôt Buster (la future version de Debian) contient codeblocks 16.
https://packages.debian.org/buster/allpackages?format=txt.gz
C’est un dépôt en phase de test… c’est un pari risqué !
Bonne chance :o)
Ping : Installer la dernière version de Lazarus (mai 2020) sur Raspberry Pi - Framboise 314, le Raspberry Pi à la sauce française....