Publié le 4 mai 2015 - par

Lazarus sur le Raspberry Pi

Lazarus_logo_250pxLazarus est un EDI multiplateforme développé en Free Pascal pour Free Pascal. Son objectif est de fournir aux programmeurs Pascal Objet un environnement de développement s’approchant le plus possible de Delphi.
Henri, un lecteur du blog et développeur en Free Pascal a galéré pour installer Lazarus sur son Raspberry Pi, il a voulu vous faire profiter de son expérience…

Lazarus_logo
Free Pascal est un compilateur sous licence GPL fonctionnant sous Linux, Windows, OS/2, Mac OS X, BSD, iOS, Android, etc. Il est conçu pour interpréter et compiler le Pascal Objet de Delphi. À la différence de Java dont le slogan est « write once run anywhere » (écrire une fois, exécuter partout), celui de Lazarus et Free Pascal est « write once compile anywhere » (écrire une fois, compiler partout). (Wikipedia)

 lazarus_raspi_600pxJe laisse la parole à Henri :

« Ce diable de Pi 2 est une petite merveille, mais ne se laisse pas domestiquer si facilement!
Si j’ai pu sans problème installer pas mal de choses, il a refusé (sous Raspbian) d’installer Lazarus: “paquets cassés”.
J’ai essayé quelques solutions proposés sur le net pour des problèmes similaires, que dalle..

Le Raspberry Pi est décidément une drôle de petite bécane bien sympathique, et il m’est venu l’idée de m’en servir pour réaliser un projet assez particulier : l’accueil de jeunes hirondelles dans de nouveaux nids installés sur les murs de la maison. Et c’est là que le petit ordinateur intervient : je désire le faire gazouiller de 7h à 20h pour attirer les jeunes oiseaux et les inviter à s’installer chez nous ,

La partie programmation n’est pas très compliquée : il s’agit de brancher un ordinateur sur des baffles et d’y faire passer plusieurs fichiers sons dans un ordre aléatoire entre 7 & 20h. Le logiciel ad hoc a déjà été réalisé en 2014 sous Windows 7 et fonctionne très bien. Mais quel gâchis énergétique de faire fonctionner un PC 24h/24 durant un mois ! Alors un petit Raspberry ne pourrait-il faire ce travail ?

Certes : il suffit a priori d’installer sur le Pi Lazarus, puis de recompiler le logiciel fonctionnant sous Windows. C’est d’autant plus facile que Raspbian dispose de Lazarus et son compilateur Fpc dans sa bibliothèque de paquetages.

Ouais. Sauf que le Rasp refuse d’installer ces logiciels : un paquetage est corrompu (broken comme disent les Godons)..

Il m’a fallu pas mal de temps pour trouver l’origine de ce souci, et surtout sa solution, c’est d’ailleurs un de nos amis programmeurs anglais qui l’a trouvée pour moi, je vous en délivre la substantifique moelle.

Il faut savoir que la cause du problème semble être liée au fait que le compilateur Pascal (fpc) s’appuie sur un mauvais paquet présent dans la version actuelle du Raspbian. Avant donc d’espérer faire fonctionner Lazarus, avant même de l’installer, il convient d’ajouter en mode administrateur au fichier /etc/apt/sources.list  la ligne suivante :

deb http://plugwash.raspbian.org/wsf wheezy-wsf main

puis un simple apt-get update (qui va prendre un temps certain), puis d’installer lazarus sans plus se soucier de quoi que ce soit, et tout rendre dans l’ordre !

C’est égal : il m’aura fallu pas moins d’une quinzaines d’essais avant de trouver la solution efficace..« 

Conclusion

Merci à Henri d’avoir partagé cette information qui permettra aux amateurs de Pascal de développer sur le Raspberry Pi. N’hésitez pas à nous faire part de vos expériences avec cet environnement de développement…

Complément

Roland utilise également Lazarus et il me transmet cette information :

« bonjour François
j’utilise essentiellement delphi pour faire des programmes pro et perso, c’est vraiment confortable pour créer des applications avec interface graphiques
Il y a un équivalent sous linux qui s’appelle lazarus et que l’on peut installer sur le raspberry pi version 2 , cela permet de pouvoir programmer en pascal sur la framboise, ce qui peut intéresser de nombreuses personnes programmant avec delphi (python, c’est bien ,mais en mode graphique , c’est un peu galère…)
j’ai découvert un tuto très détaillé sur l’installation de lazarus sur le raspberry ici :
http://otapi.com/2015/02/10/raspberry-pi-2-freepascal-lazarus-and-delphi/

je suis plus qu’enchanté du résultat !

si tu penses que ça peut servir à d’autres utilisateurs…
cordialement
roland »

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

18 réflexions au sujet de « Lazarus sur le Raspberry Pi »

  1. Dodutils

    « write once comiple everywhere » je dirais même plus, « write once, commpile from everywhere for everywhere » donc du coup on pourrait utiliser l’IDE sous Windows « confortablement » par exemple et compiler un binaire pour RasPi A vu que faire tourner Lazarus sur un RasPi A c’est pas sûr que ça passe.

    d’ailleurs question, Lazarus sur un RasPi produit toujours des binaires aussi gros par défaut si on ne touche pas aux réglages du compilateur ?

    p.s: fais gaffe, si ça se trouve tu vas balancer un gazouillis qui veut dire « bande d’abrutis c’est ma place ici barrez-vous  » 😉

    Répondre
    1. Henri

      Je ne sais trop ce que mes hirondelles électroniques gazouillent, ma foi! 🙂
      Sinon en ce qui concerne la possibilité de compiler sur PC une version exécutable sur Raspberry, je n’y suis pas arrivé jusqu’à présent.. mais maintenant que la programmation est aisée et (relativement) rapide sur le petit Pi, pourquoi se compliquer la vie? 🙂
      Lazarus ne présent à mon sens qu’un seul défaut en ce qui me concerne: l’absence de gestion des fichiers Paradox..
      Pour le reste, just enjoy!

      Répondre
  2. bzh44

    Merci pour ces infos. Je n’avais pas essayé d’installer Lazarus sur ma framboise mais je tenterai peut-être l’expérience. Quoi que comme indiqué par Dodutils le plus efficace est sûrement la compilation croisée à partir d’un bon gros PC (avec le bon paramétrage pour réduire la taille du binaire effectivement). Mais là encore, je n’ai pas testé.

    Répondre
  3. Romu

    Je suis étonné j’ai installé Lazarus sur mon PI2 ce week end (avec APT) et je n’ai pas vu du tout ce souci ! Tout s’est déroulé à merveille, j’ai essayé de compilé un petit projet et ça fonctionne !!

    Répondre
    1. Henri

      Là par contre je suis un peu bluffé: le package Raspbian en cause aurait-il enfin été corrigé? En tout cas, excellente nouvelle si c’est le cas! 🙂

      Répondre
    2. mic78000

      Bonjour,

      Idem, j’ai fais l’installation standard :
      sudo apt-get update
      sudo apt-get upgrade
      sudo apt-get install fpc
      sudo apt-get install lazarus

      et ça marche.

      Seul problème : en connexion à distance (j’utilise la connexion bureau à distance), certains caractère du clavier ne sont pas pris en compte comme par exemple  » ou ( ce qui est gênant !) alors que, toujours en connexion à distance, j’ouvre une console par exmple, ces caractères sont bien pris en compte.

      Répondre
      1. mic78000

        Par contre, en mode direct (clavier et écran bran,ché sur le pi2, impeccable !
        et je trouve rapide…
        Pour info, j’ai pas mal programmé en Delphi d

        Répondre
        1. mic78000

          Message parti trop tôt.
          Je disais donc que j’avais dans le temps pas mal fait de programmation en Delphi (cf mon site phidel.com).
          Très content de pouvoir faire la même chose sur pi !
          Il y a beaucoup d’utilisateurs de Lazarus ?

          Répondre
          1. Henri

            Vous parlez des utilisateurs de Lazarus sur Pi je présume? 🙂
            Sinon tout support confondu, cela doit déjà compter..
            Personnellement après avoir fait un tour sur les versions Embarcadero jusqu’à la XE3 je suis revenu à.. Delphi 7 ou Lazarus!
            Bien suffisant pour une utilisation en monoposte sans réseau..

          2. Dodutils

            Je dèv toujours sur Delphi…7 😉 les versions XE sont imbuvables, on perd tout l’intérêt qu’avait Delphi à être un outil de dèv léger, petit et rapide.

            Sinon je vais me rapprocher de Lazarus (testé il y a longtemps) car j’ai besoin de compiler en 64bits pour certains de mes outils système (vu qu’on a qu’un accès limité aux process/infos 64bits à partir d’une app 32bits).

          3. VERDI

            Bonjour Michel,
            J’utilise principalement Delphi (XE6 et Delphi 7) pour des développements professionnels et à cette occasion j’ai beaucoup fréquenté ton site phidel. Un grand merci rétrospectif! De temps en temps, lorsque des dispositifs le permettent (pas trop gourmands en ressources), j’utilise la combinaison Raspberry Pi + Lazarus. Pourquoi ne pas te lancer dans un phidel à la mode Lazarus, mmmhhh ?
            Cordialement

          4. Romu

            Super de retrouver Michel ici !! Pareil je développe sur Delphi depuis la version 3 et je me suis arrêter à la 7 !! Le site de Michel a toujours été durant ma période d’apprentissage, un outil essentiel !! Donc comme beaucoup d’autre je te remercie Michel 😉
            J’essaye de temps en temps de me mettre à Lazarus afin de m’ouvrir de nouveau horizon en terme de plateforme et aussi de fonctionnalité car comme beaucoup je n’ai pas suivi après la version 7 de Delphi !!

      2. Henri

        Je n’ai de mon côté aucun souci vis-à-vis des caractères frappés au clavier. Mais je n’utilise pas de connection à distance..
        Pour le reste je suis content que votre installation s’est passée au mieux.
        Je n’oserais pas trop réessayer celle-ci maintenant que cela marche très bien, mais il n’est pas impossible que le paquet abîmé à l’origine de mes problèmes en avril ait été remis en état?
        Bonne fin de journée..

        Répondre

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.