Best way to keep Lazarus up to date on Raspberry Pi? lazarus / 32-Linux ---------------------------------------------------------------------- Magpie5212 · 2014-01-14 15:08 I installed Lazarus with the neat Code: [Select]sudo apt-get update sudo apt-get upgrade sudo apt-get install fpc sudo apt-get install lazarus process on my Pi.  However, this gives an old (0.9.30.4) version and does not update.  What's the cleanest way to get a more up to date copy? ---------------------------------------------------------------------- wp · 2014-01-14 15:47 There are recent postings on using fpcup on the Raspberry Pi (http://f orum.lazarus.freepascal.org/index.php/topic,23075.msg138546/topicseen. html#new). Maybe they are helpful to you. ---------------------------------------------------------------------- Magpie5212 · 2014-01-14 16:43 Thanks, but if I am reading it right, isn't that all about a cross- compiler?  I am trying to update the Pi. This is probably all down to my pack of understanding of Linux. I tried the process here http://wiki.lazarus.freepascal.org/Lazarus_release_version_for_Ubuntu but it got a 'not found' on ArmHF Code: [Select]W: Failed to fetch http://www.hu.freepascal.org/lazarus/dists/lazarus- stable/universe/binary-armhf/Packages  404  Not Found I also tried the SVN based process here http://www.michellcomputing.co.uk/blog/?p=72, which failed when I got to the make step with Code: [Select]sourceeditor.pp(10517) Error: Can't call the assembler, error -1 switching to external assembling sourceeditor.pp(10517) Fatal: There were 2 errors compiling module, stopping Fatal: Compilation aborted make[2]: *** [lazarus] Error 1 make[2]: Leaving directory `/home/pi/Documents/Lazarus/ide' make[1]: *** [ide] Error 2 make[1]: Leaving directory `/home/pi/Documents/Lazarus/ide' make: *** [ide] Error 2  despite assembling lots of other things. ---------------------------------------------------------------------- BigChimp · 2014-01-14 17:02 Quote from: Magpie5212 on January 14, 2014, 05:43:51 pmThanks, but if I am reading it right, isn't that all about a cross-compiler?  I am trying to update the Pi. No it isn't. It's meant to get/update FPC&Lazarus which it will do by default: Quotefpcup is a tool that automates running a subversion client to build FPC and/or Lazarus in a self-contained directory structure. It'll also allow you to install/update cross compilers though. ---------------------------------------------------------------------- jwdietrich · 2014-01-14 19:11 There are also precompiled deb packages for Raspbian at http://archive.raspbian.org/raspbian/pool/main/l/lazarus/ (for Lazarus) and http://archive.raspbian.org/raspbian/pool/main/f/fpc/ (for Free Pascal). I haven't tested them yet, however. ---------------------------------------------------------------------- Magpie5212 · 2014-01-14 20:45 Thanks for all the suggestions. BigChimp, I tried the fpcup which appeared to be applicable which was: fpcup_raspbian_experimental Looks very new with only a handful of downloads.  Should I have used a different one? I am getting some not found messages: QuoteInfo: Required -dev packages are not installed for Lazarus: libgdk_pixbuf-2.0.so Info: Required -dev packages are not installed for Lazarus: libpango-1.0.so Info: Required -dev packages are not installed for Lazarus: libgdk-x11-2.0.so Info: Error running fpcup. Technical details: error executing sequence Default; line: 2, param: CheckDevLibs FPCUp failed. ---------------------------------------------------------------------- BigChimp · 2014-01-15 06:20 @Magpie: yes, that's the one. Those errors are warnings that fpcup thinks those libraries are prerequisites for Laz to be installed. However, I think it's best if you use the regular/official svn checkout/svn make/make/make install way of installing (the one where you got the assembler errors). You're not that experienced with Linux and having an extra untested layer to deal with doesn't sound smart. I suspect you will still need those -dev packages but I'll leave it to actual Pi owners to confirm that. Then again, jwdietrich's suggestion of using prebuilt debs sounds even easier. Thanks for testing. ---------------------------------------------------------------------- Magpie5212 · 2014-01-15 08:15 Using Aptitude I managed to find a couple of the packages so now I am down to: QuoteInfo: Required -dev packages are not installed for Lazarus: libgdk-x11-2.0.so Searching with Google to see if I can find mention of the package it keeps coming up with libgdk-x11-2.0.so - is this perhaps a typo in the list for fpcup? ---------------------------------------------------------------------- avra · 2014-01-15 08:21 Quote from: Magpie5212 on January 14, 2014, 04:08:57 pmWhat's the cleanest way to get a more up to date copy?You can try DEBs already mentioned, or try to install from source which will be very difficult. If you still want to do it, then you must have swap file of at least 512MB (1GB recommended), and you must compile from terminal without any graphical desktop loaded. You can ease yourself a lot if you can live with "old" Lazarus 1.0.6, since that is the last version built with FPC 2.6.0. This means that you can use apt-get to install FPC (current stable Debian has FPC 2.6.0), and then just download and compile Lazarus 1.0.6 from source. I can confirm personally that this method works. Alternative way would be to use Debian Jessie testing (Laz 1.0.10 and FPC 2.6.2-7) instead of Debian Wheezy stable (Lazarus 0.9.30.4-6 and FPC 2.6.0-9). More info about Jessie on RPi can be found here: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=66&t=47944. Or, you can try Arch Linux distro for RPi which saves you from all trouble mentioned above but is not for a Linux newbie. EDIT: I forgot to say that for successful compilation you would also need to minimize GPU memory usage to 8MB if you have old 256MB Pi like I do. ---------------------------------------------------------------------- Magpie5212 · 2014-01-15 10:40 Quote from: jwdietrich on January 14, 2014, 08:11:18 pmThere are also precompiled deb packages for Raspbian at http://archive.raspbian.org/raspbian/pool/main/l/lazarus/ (for Lazarus) I started trying this solution but had a hard time getting the right set of files.  And when I start to install them they all seem to depend on one-another. ---------------------------------------------------------------------- Magpie5212 · 2014-01-16 10:17 Thanks for all the help on this one, but I think I give up for now.  I am spending more time trying to update Lazarus than on the project I was doing.  I am assuming that at some time the Pi version will get updated.  And all I wanted the new version for was a bug in TCalculatedChartSource. Thanks again. ---------------------------------------------------------------------- BigChimp · 2014-01-16 10:19 (posted before I read your message) Quote from: Magpie5212 on January 15, 2014, 09:15:38 amUsing Aptitude I managed to find a couple of the packages so now I am down to: QuoteInfo: Required -dev packages are not installed for Lazarus: libgdk-x11-2.0.so Searching with Google to see if I can find mention of the package it keeps coming up with libgdk-x11-2.0.so - is this perhaps a typo in the list for fpcup? The names reported are generic names for the Linux library as a courtesy to the user as fpcup can run on many Linux distributions. On my raspbian emulator, this worked for me: Code: [Select]aptitude install libgtk2.0-dev libgdk-pixbuf2.0-dev libpango1.0-dev subversion unzip (which pulled in whatever libgdk was required) however, on the fpcup thread in third party announcements, nomorelogic tested fpcup already and found some other problems, so I suggest you use another way of getting a newer Lazarus/FPC. Quote from: Magpie5212 on January 15, 2014, 11:40:51 amQuote from: jwdietrich on January 14, 2014, 08:11:18 pmhttp://archive.raspbian.org/raspbian/pool/main/l/lazarus/ (for Lazarus) I started trying this solution but had a hard time getting the right set of files.  And when I start to install them they all seem to depend on one-another. IIRC, you can just download all the *.deb files into one directory and then do something like dpkg -i *.deb and let the OS sort out the dependencies for you. ---------------------------------------------------------------------- picstart · 2014-01-16 14:05 Unless it is a desktop PC the portability of Lazarus is troublesome unless you want to spend a week in a room just trying to get a "hello world" app running. Sure there are cross compiles and success with WinCE ARM and programs using compatible API's across platforms. Raspberry pi could have been an exception since it is more desktop PC like than say an Android however the thousands of dependencies incurred by Lazarus make ease of portability a dim prospect even for the Pi. Typically some brave soul makes a port for a specific OS version and a specific version of Lazarus and then creates a static version for distribution. This was done for the pi. Most often this courage is a one-time event so no further updates are made. It is arguably faster to learn Python than learn to update the Lazarus IDE and FPC  on the Pi.  Some realizing that the future is with tablets are attempting to save a future for Lazarus by making portability to the larger market of Android tablets. They are attempting to reduce the work for a port from a week down to a few minutes. Laz4Andriod is an example but it it is still much a work in progress. You are wise to restrict your use of Lazarus to Desktop PC's and avoid attempting a port to the Pi. ---------------------------------------------------------------------- Magpie5212 · 2014-01-16 15:09 Quote from: picstart on January 16, 2014, 03:05:47 pm It is arguably faster to learn Python than learn to update the Lazarus IDE and FPC  on the Pi. I might come to agree with you.  But as I have spent years using first Delphi and then Lazarus there's a lot to overcome. Is there a good user interface tool for Python?   From my short ventures into the language there seem to be an awful lot of hand-coded user interfaces without automatic reformatting. ---------------------------------------------------------------------- chrnobel · 2014-01-16 15:10 @Picstart. Have you ever considered contributing to the project instead of always complaining and trolling? FPC/Lazarus works quite good on the pi, but if you need to recompile the IDE (eg. if you want other components like Zeos), it has to be done from the cli, due to the limited amount of memory on the pi. ---------------------------------------------------------------------- chrnobel · 2014-01-16 15:15 @Magpie This article might be helpful: http://www.michellcomputing.co.uk/blog/?p=72 ---------------------------------------------------------------------- Magpie5212 · 2014-01-16 15:21 Quote from: BigChimp on January 16, 2014, 11:19:48 amQuote from: Magpie5212 on January 15, 2014, 11:40:51 amQuote from: jwdietrich on January 14, 2014, 08:11:18 pmhttp://archive.raspbian.org/raspbian/pool/main/l/lazarus/ (for Lazarus) I started trying this solution but had a hard time getting the right set of files.  And when I start to install them they all seem to depend on one-another. IIRC, you can just download all the *.deb files into one directory and then do something like dpkg -i *.deb and let the OS sort out the dependencies for you. This sounded so promising that I had another go - downloading all the packages with the same (latest) date on the assumption that they would work together. FPC went in fine. Lazarus seems to be more of a problem.  I could install these: Quotelazarus-doc-1.0.10_1.0.10+dfsg-1_all.deb lcl-gtk2-1.0.10_1.0.10+dfsg-1+b1_armhf.deb lcl-utils-1.0.10_1.0.10+dfsg-1+b1_armhf.deb lazarus-src-1.0.10_1.0.10+dfsg-1_all.deb lcl-nogui-1.0.10_1.0.10+dfsg-1+b1_armhf.deb lcl-1.0.10_1.0.10+dfsg-1+b1_armhf.deb lcl-units-1.0.10_1.0.10+dfsg-1+b1_armhf.deb But the last four failed: Quote lazarus-ide-1.0.10_1.0.10+dfsg-1+b1_armhf.deb lcl-qt4-1.0.10_1.0.10+dfsg-1+b1_armhf.deb lazarus-1.0.10_1.0.10+dfsg-1_all.deb lazarus-ide-qt4-1.0.10_1.0.10+dfsg-1+b1_armhf.deb It all came down to Quotedpkg: dependency problems prevent configuration of lazarus- ide-1.0.10:  lazarus-ide-1.0.10 depends on libpango-1.0-0 (>= 1.14.0); however:   Package libpango-1.0-0 is not installed. which subsequently blocked the other three. Searching around for that led me to http://packages.debian.org/wheezy/armhf/libpango1.0-0/download but installing libpango1.0-0_1.30.0-1_armhf.deb from there broke a massive list of packages - despite allowing Lazarus to procede, X windows would not run. ---------------------------------------------------------------------- trn76 · 2014-01-25 20:46 I'm using Lazarus 1.10 and FPC 2.6.2 on the RPi... Install Jessie to get it on: http://forum.lazarus.freepascal.org/index.php?topic=22610.0 Works very well