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:

Hozzászólások

Ez a Lazarus dolog mennyire életképes igy 2012-ben? Vagyis inkább a Pascal mint programnyelv kissé tulhaladott szerintem.

Nézőpont kérdése. Én anno pascal nyelven tanultam programozni, azóta nyúztam/nyúzom a Visual Basicet, PHP-t, Pythont és a Javat, sőt a J sem áll távol tőlem. A C és variánsai (C++, C#) kimaradtak, de szerintem nem lehet túl nagy falat az sem. Most olyan programokat fejlesztek, amiknél elvárás, hogy Windowson és Linuxon is működjön. A Lazarus majdnem olyan mint a Delphi, csak éppen multiplatform: "Write once, compile anywhere" és RAD eszköz. Ha tudsz olyan ingyenes vagy nyílt forrású multiplatform fejlesztőeszközt amivel ilyen egyszerű az alkalmazások fejlesztése, kérlek oszd meg velem. Ezt nem iróniából mondom, de én (ezen kívül) még nem találkoztam olyan eszközzel amivel ilyen könnyen és egyszerűen hozzá lehet rendelni a program felhasználói felületének elemeihez (gombok, beviteli mezők) az eseményeket, illetve ennyi beépített függvény és osztály állt volna rendelkezésre. Itt szinte csak megrajzolom az alkalmazást, majd mögé írom a kódot.