[fpc-pascal] FPC 3.0.0-rc1 release

Mark Morgan Lloyd markMLl.fpc-pascal at telemetry.co.uk
Mon Nov 30 13:38:17 CET 2015

Martin Schreiber wrote:

> In my Raspbian RPi 1 model B rev2 I installed FPC 2.6.0 by 
> apt-get install fpc
> Then I extracted fpc_eabihf_3_0_1.tar.gz to /home/pi/fpc.
> cd to the svn fixes_3_0 checkout,
> "
> make PP=/home/pi/fpc/3_0/eabihf/lib/fpc/3.0.1/ppcarm OVERRIDEVERSIONCHECK=1 
> all
> "

Thought a status report might be useful here. Using Raspbian 4.1 
"Jessie" dated 2015-11-21 from 
https://www.raspberrypi.org/downloads/raspbian/ I find fpc_eabihf_3_0_1 
from http://sourceforge.net/projects/mseide-msegui/files/fpcarm/ 
installs and runs with no further prerequisites, and is able to build 
the standard 3.0.0 sources. There are some minor complaints that 
Subversion is missing, but that can be trivially fixed.

The new Jessie "Lite" similarly runs 3.0.1 and builds 3.0.0, there are 
no missing prerequisites so it is not necessary to start off at 2.6.x.

On "full fat" Jessie, Lazarus 1.4.4 compiles but requires libgtk2.0-dev 
as a prerequisite. The result doesn't run reliably but this is a Jessie 
issue which I believe is being addressed. Adding libqt4pas-dev and 
building Lazarus for Qt results in something that works fine.

I have not tried building Lazarus on Jessie Lite, since I see it as 
mainly being useful for embedded systems based on the original Rpi or 
the new RPi Zero. I don't anticipate significant problems other than 
caused by limited memory (Lazarus requires at least 512Mb RAM+swap to 

Using standard RPi2 Debian (i.e. not Raspbian) from 
http://sjoerd.luon.net/posts/2015/02/debian-jessie-on-rpi2/ with the 
addition of a fairly standard collection of packages using tasksel 
followed by the build-essential, gdb and subversion packages runs 3.0.1 
and builds 3.0.0 in essentially the same way as is described above.

On standard RPi2 Debian, FPC 3.0.0 fails to build Lazarus 1.4.4 with 
errors like

paswstring.pas(425,46) Error: Incompatible types: got "<address of 
procedure(PChar;var UnicodeString;LongInt);StdCall>" expected 
"TUnicodeStringManager.<procedure variable type of 
procedure(PChar;Word;var UnicodeString;LongInt);StdCall>"
paswstring.pas(439) Fatal: There were 4 errors compiling module, stopping
Fatal: Compilation aborted
Makefile:2276: recipe for target 'lazutils.ppu' failed

I'm not intending to pursue this at the moment, since I've hacked a lot 
of stuff onto the top of the supplied "lean and mean" distro ("Adde 
parvum parvo magnus acervus erit") and my guess is that the Unicode 
stuff is inadequately configured probably impacting on FPC. I mention it 
here entirely as a "heads up" for anybody attempting a similar combination.

In all of the above cases, /etc/fpc.cfg should contain a line


Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

More information about the fpc-pascal mailing list