Lazarus SVN + FreePascal 2.6.0 Ubuntu Linuxon

Volt itt már egy hasonló post, de azóta megjelent a FreePascal 2.6.0. Ezzel viszont eddig nem tudtam lefordítani a Lazarust. A programjaim simán mentek az 2.4.4-es verzióval is, úgyhogy nem nagyon foglalkoztam vele. De azért furdalt a kíváncsiság, hogy vajon mi lehet a baj, miért nem tudom a 2.6.0-val is lefordítani a Lazarus forráskódját? Mindig ezt a hibaüzenetet kaptam:

Compiling lazaruspackageintf.pas
Fatal: Can't find unit process used by RegisterFCL
Fatal: Compilation aborted
make[1]: *** [fcllaz.ppu] Error 1
make[1]: Leaving directory `/home/user/lazarus/packager/registration'
make: *** [registration] Error 2

Nem találja a process unitot, pedig fel van telepítve: /usr/lib/fpc/2.6.0/units/i386-linux/fcl-process/process.ppu és a forrás is: /usr/share/fpcsrc/2.6.0/packages/fcl-process/src/process.pp. A megoldás kicsit lejjebb, most kezdjük nulláról:

A FreePascal 2.6.0 letöltése és telepítése:

$ wget ftp://ftp.hu.freepascal.org/pub/fpc/dist/2.6.0/i386-linux/deb/*.deb -P fpc-2.6.0-deb
$ sudo dpkg -i fpc-2.6.0-deb/*.deb

Ha függőségi problémák vannak:

$ sudo apt-get install -f
$ sudo dpkg -i *.deb

A megoldás

Az /etc/fpc.cfg fájl végére irjuk be ezt a sort:

-Fu/usr/lib/fpc/$fpcversion/units/i386-linux/*

Lazarus SVN forráskód letöltése és fordítása

Ha nincs telepítve a subversion csomag:

$ sudo apt-get install subversion

Letöltés:

$ svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus

A Lazarus fordítása:

$ cd lazarus
$ make clean all

Frissítés

Ha a későbbiekben frissíteni szeretnéd a Lazarust akkor a forráskód könyvtárában, nálam ~/lazarus add ki a következő parancsokat:

$ svn update
$ make clean all

Ubuntu

Az Ubuntu overlay scrollbar, a globális menü és Lazarus nem barátok. Szerencsére van rá megoldás. Hozz létre a Lazarus könyvtárában egy startlaz.sh fájlt, a tartalma legyen ez:

#!/usr/bin/env bash
LIBOVERLAY_SCROLLBAR=0 UBUNTU_MENUPROXY=0 ./startlazarus

Ha megvan, tedd futtathatóvá. Ha ezzel indítod a Lazarust akkor nem fogja használni az overlay scrollbart és a globális menüt sem.

Az eredmény

A Lazarus névjegye: