Publié le 24 mai 2020 - par

Installer la dernière version de Lazarus (mai 2020) sur Raspberry Pi

Lazarus est un environnement de développement opensource pour développer des programmes en langage Pascal. Ceux qui ont connu TurboPascal et Delphi retrouveront un environnement familier. Claude a profité d’un essai d’un Raspberry Pi Zero sous VNC pour faire une installation depuis une distribution de départ. Cet article est une mise à jour de l’article sur Lazarus publié sur le blog fin 2018. Il vous explique comment installer la dernière version stable (IDE 2.0.8 FPC 3.0.4 en mai 2020) en corrigeant certaines imprécisions de l’article original.

Installer Lazarus sur le Raspberry Pi

Par précaution il est utile de faire au préalable une copie de sauvegarde de votre carte micro SD si vous partez d’une carte contenant des données.

Prérequis

Si vous n’avez pas déjà svn (logiciel de synchronisation pour les développements concurrents) installez le :
sudo apt 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 Raspberry Pi pour prendre ces modifications en compte.

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

Pour cette étape rien de changé : la dernière version disponible pour le Raspberry est toujours la 3.0.2. Le texte ci-dessous est don strictement identique à l’article original.

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 version 3.0.4 du compilateur

Contrairement à l’article d’origine, je choisi de prendre la version du compilateur utilisée par la dernière IDE stable et non la version du trunk qui est en fait une version en cours de développement.

On récupère les sources dans le dossier /usr/local/fpc :
cd /usr/local/fpc
sudo wget http://sourceforge.net/projects/freepascal/files/Source/3.0.4/fpc-3.0.4.source.tar.gz
sudo tar xvf fpc-3.0.4.source.tar.gz

puis on compile et installe la dernière version :
cd fpc-3.0.4
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 la 3.0.4 est compilée 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.0.4 lexyacc

Pour définir 3.0.4 comme version par défaut :
sudo rm -f /usr/local/bin/ppcarm
sudo ln -sf /usr/local/lib/fpc/3.0.4/ppcarm /usr/local/bin/ppcarm

Contrôle :
ls -l /usr/local/bin/ppcarm
doit répondre
lrwxrwxrwx 1 root root 18 mai 20 17:03 /usr/local/bin/ppcarm -> /usr/local/lib/fpc/3.0.4/ppcarm
et
fpc

Répond :
Free Pascal Compiler version 3.0.4 [2020/05/18] for arm
Copyright (c) 1993-2017 by Florian Klaempfl and others
/usr/local/bin/fpc [options] <inputfile> [options]
Only options valid for the default or selected platform are listed.
Put + after a boolean switch option to enable it, – to disable it.
@<x> Read compiler options from <x> 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<x> 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<x> Code generation options:
-C3 Turn on ieee error checking for constants
-Ca<x> Select ABI; see fpc -i or fpc -ia for possible values
*** press enter ***

On peut supprimer le dossier fpc 3.0.2 :

sudo rm -r fpc-3.0.2.arm-linux

Etape 3 : compilation de l’IDE

On peut passer à la compilation de l’IDE.
Au préalable on installe les paquets requis :
sudo apt 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/tags/lazarus_2_0_8/ source

Création de l’IDE :
cd source
sudo make bigide

Puis installation:
sudo make install OPT=-dFPC_ARMHF PREFIX=/usr/local

Enfin pour lancer l’ide la première fois
sudo ./lazarus

Au premier lancement il faut indiquer l’emplacement des sources de lazarus et de fpc :

Nota : j’ai du rebooter le Pi pour que Lazarus apparaisse dans le menu Programmation.

Conclusion

Que peux-t-on faire avec Lazarus ?

La bibliothèque de composants visuels permet de faire rapidement des logiciels de test comme ce logiciel de test et de calibration de capteurs de pression (entre autres) :

Capteurs utilisés pour mon projet d’écran pour ULM en OpenGL :

Lazarus tourne sur mon Pi0 mais bien sûr il est illusoire de vouloir faire du développement sur une machine aussi peu puissante. C’était pour moi un exercice de style pour tester le fonctionnement d’un Pi0 contrôlé par VNC avec un simple câble USB. De ce côté c’est tout à fait convainquant d’autant plus que l’installation a été faite sur un Pi0 de base grâce au partage de la connexion internet de mon PC.

Merci Claude pour cette mise à jour et bonne continuation de ton projet d’écran pour ULM !!

Sources

 

Share Button

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

8 réflexions au sujet de « Installer la dernière version de Lazarus (mai 2020) sur Raspberry Pi »

  1. philippe mermier

    Bonjour,
    après l’installation réussie de Lazarus sur un Raspberry PI 4 en version 4 GB, j’ai poursuivi sur celle de la librairie PXL dans le but d’accéder au GPIO mais je ne parviens pas à faire fonctionner le plus simple des exemples fournis, “blinky” qui devrait allumer une led connectée sur le GPIO23. Merci pour votre aide.

    Répondre
      1. philippe mermier

        En fait le programme ne passe pas la première ligne:
        (‘SystemCore := TFastSystemCore.Create;’)
        et quitte sans explication.
        Je précise que le montage avec la LED n’est pas en cause puisqu’il fonctionne normalement avec la routine python équivalente.

        Répondre
  2. Pascal

    Bonjour,

    J’apprécie beaucoup vos publications et exemples. J’ai la dernière version de raspbian 32 bits sur un pc portable à base de Intel ATOM mais je suppose que l’installation de FPC qui est décrite ci-dessus diffère non seulement au niveau du fichier “fpc-3.0.2.arm-linux-eabihf-raspberry.tar” mais aussi au niveau des options des commandes
    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
    Auriez vous des informations la dessus ??

    Cordialement
    Pascal

    Répondre
  3. Ping : Exploration de l'EEPROM HAT du Raspberry Pi (Partie 1/2) - Framboise 314, le Raspberry Pi à la sauce française....

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP * Time limit is exhausted. Please reload CAPTCHA.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.