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]
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to