[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
build).
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
-Fl/usr/lib/gcc/arm-linux-gnueabihf/4.9
--
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