Christians Webseite        << zurueck        vor >>

Lazarus auf dem Raspberry Pi

DigCockpit

Lazarus ist eine IDE (=Entwicklungsumgebung) die auf dem Free Pascal Compiler aufbaut und als Nachfolger von "Delphi" angesehen werden kann. Man kann damit schnell und einfach direkt lauffähige Programme schreiben die weder Phyton, Browser oder irgendeine andere Hilfsumgebung benötigen. Lazarus existiert für fast alle Betriebssysteme und die damit erstellten Programme können deshalb sehr schnell und einfach portiert werden.

Lazarus selbst ist ebenfalls in Pascal geschrieben und kann daher bei Bedarf mit sich selbst neu kompiliert werden.

Installation

Der einfachste (und schlechteste) Weg ist die Installation über den Paketmanger APT des Raspberry OS. Die dort vorgehaltene Version ist uralt und nicht zu empfehlen.

Wesentlich besser, aktueller, aber leider auch deutlich komplizierter, ist der folgende Weg: Die Quelldateien einer aktuellen Lazarus-Version herunterladen, selbst neu kompilieren und auf dem Raspberry installieren. Die notwendigen Schritte in Kurzform (alles auf dem Raspberry Pi):

  • Hilfsbibliotheken herunterladen und installieren
  • FreePascal (FPC) herunterladen und installieren
  • Lazarus Quellcode herunterladen
  • Lazarus kompilieren und installieren
Glücklicherweise haben sich bereits viele Experten mit dieser Aufgabe beschäftigt und Anleitungen erstellt. Beispielhaft sind die beiden folgenden Blogger von denen ich das Installationsskript übernommen habe:

Blog 1
Blog 2

Das Phyton-Skript vereinfacht die installation erheblich. Es automatisiert alle Schritte und benötigt nur ein paar individuelle Parameter wie z.B. Pfadangaben. Es wird auf dem RasPi ausgeführt (Namesvorschlag: Install_Lazarus_2.0.12_FPC_3.0.4.sh):
						
echo "Installation von Freepascal und Lazarus             Stand: 18.06.2019 T. Angielsky"
echo "======================================="
#!/bin/bash
echo ""
fpcver="3.0.4"
lazver="2.0.12"
progpath="/home/pi/progs"

read -e -i "$fpcver" -p "Freepascal Version (z. B. 3.0.4): " fpcver
read -e -i "$lazver" -p "Lazarus Version (z. B. 2.0.0): " lazver
read -e -i "$progpath" -p "Zielordner: " progpath

echo ""
read -p "Eingabetaste drücken, um zu beginnen ..."
echo ""
echo "Abhängigkeiten installieren ..."
sudo apt install libgtk2.0-dev libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libatk1.0-dev libghc-x11-dev libx11-dev -y

echo "Zielordner anlegen ..."
mkdir -p $progpath
cd $progpath

echo "Freepascal installieren ..."
wget ftp://ftp.hu.freepascal.org/pub/fpc/dist/$fpcver/arm-linux/fpc-$fpcver.arm-linux-eabihf-raspberry.tar -O fpc.zip
#wget ftp://freepascal.stack.nl/pub/mirrors/fpc/dist/$fpcver/arm-linux/fpc-$fpcver.arm-linux-eabihf-raspberry.tar -O fpc.zip
tar -xf fpc.zip
cd fpc-$fpcver.arm-linux
sudo ./install.sh

echo ""
echo "Falls Freepascal nicht in einen PATH Ordner installiert wurde, muss dieser vorher in den PATH eingebunden werden."
echo "Dafür am besten ein zweites Terminal-Fenster öffnen."
read -p "Eingabetaste drücken, um weiter zumachen ..."

echo ""
echo "Quellen von Freepascal downloaden und entpacken ..."
wget ftp://ftp.hu.freepascal.org/pub/fpc/dist/$fpcver/source/fpc-$fpcver.source.zip -O fpc-source.zip
#wget ftp://freepascal.stack.nl/pub/mirrors/fpc/dist/$fpcver/source/fpc-$fpcver.source.zip -O fpc-source.zip
unzip fpc-source.zip

echo "Lazarus installieren ..."
cd $progpath
wget https://sourceforge.net/projects/lazarus/files/Lazarus%20Zip%20_%20GZip/Lazarus%20$lazver/lazarus-$lazver.zip/download -O lazarus.zip
unzip lazarus.zip
cd $progpath/lazarus
make clean all						
						
						
Vor dem Start müssen 3 Einstellungen angepasst werden:
  • fpcver="3.0.4", die gewünschte Version von FreePascal
  • lazver="2.0.12", die gewünschte Version von Lazarus
  • progpath="/home/pi/progs", das Installationsverzeichnis
Bei der Auswahl der Freepascal-Version ist man nicht frei, man kann nur die für ARM-Prozessoren verwenden (EABIHF).

Es ist zudem möglich und wahrscheinlich dass nicht alle FPC/Lazarus Releases zueinander passen. Ich hatte mit der Kombination 3.0.4 / 2.0.12 Erfolg. Die jeweils neuesten Releases sind nicht zwingend aufeinander abgestimmt.

Freepascal Version auswählen

Auf der Homepage von Freepascal findet sich im Ordner "Download" ein Link "ARM" -> "Linux" zum neuesten Release. Es ist wichtig die EABIHF-Version auszuwählen.

Falls keine EABIHF-Variante vorhanden ist, oder das Skript mit einer entsprechenden Fehlermeldung abbricht, kann man das Repository von Sourceforge nach einer Alternative durchsuchen.

Lazarus Version auswählen

Die aktuellen Versionen von Lazarus befinden sich auf der Homepage von Lazarus im Bereich "Downloads". Im Abschnitt "Sources" ist ein Link zum Repository von Sourceforge.

Auch hier ist möglicherweise ein wenig Ausprobieren gefragt falls das Installationsskript meckert.

Lazarus starten

Leider legt das Installationsskript keinen Eintrag im Startmenü an.

  • Einstellungen/Main Menü Editor, Bereich auswählen, Neuer Eintrag, Name: "Lazarus", Browse
  • /home/pi/progs/lazarus/startlazarus
  • OK
Oder aber jedesmal direkt /home/pi/progs/lazarus/startlazarus aufrufen.

Projekte öffnen

Wenn man ein "fremdes" Projekt öffnet erhält man häufig die Meldung das diverse "Packages" nicht vorhanden sind. Die einfachste Methode ist das fehlende Package über den eingebauten PackageManager nachzuladen. Falls es dort nicht vorhanden ist kann man es ausserhalb von Lazarus manuell herunterladen. Den Speicherpfad sollte man sinnvoll wählen weil er später die Dateien referenziert.

Der Link zum Package für LazMapViewer.