[fpc-pascal] Updated FPC from svn but make does not work..

Mark Morgan Lloyd markMLl.fpc-pascal at telemetry.co.uk
Mon Nov 9 11:35:05 CET 2015

Bo Berglund wrote:
> On Sun, 08 Nov 2015 16:18:51 +0000, Mark Morgan Lloyd
> <markMLl.fpc-pascal at telemetry.co.uk> wrote:
>> Bo Berglund wrote:
>>> I think my 2.6.4 is OK because I got it as follows (from my notes):
>>> wget
>>> http://sourceforge.net/projects/freepascal/files/Linux/2.6.4/fpc-2.6.4.arm-linux.tar
>>> tar xvf fpc-2.6.4.arm-linux.tar
>>> cd fpc-2.6.4.arm-linux
>>> ./install.sh  (Reply /usr/local to the first question)
>> I thought we'd already been through this loop once? You need a custom 
>> binary tailored for the RPi.
> Mark, thanks for hanging in and advicing me!
> Most appreciated!

Sorry but I've got other things that I've got to do so this is brief and 
might overlook points.

> Right now I am getting dizzy by all the webpages, newsgroups, emails
> and how-tos I have read the last week....
> And still I seem not to completely understand how this works...
> But I hope I am getting closer.

You really should not be in a position where you have a working 
configuration and then can't get back to it. To be quite frank, you 
should be keeping (the equivalent of) an engineering notebook.

> The tar file above does work on my RPi2 in order to build FPC from svn
> trunk, so in what way is it not a valid ARM binary for the Pi?
> Surely if it works on the Pi to build the bleeding edge trunk fpc
> itself it should work in all other respects too??

Building the compiler does not exercise all aspects of the compiler, RTL 
and FCL. As a gross example, it does not exercise the graphical and 
database interface units which are referred to by Lazarus.

> Or do I need to check out fpc svn sources from the 2.6.4 tag and build
> the 2.6.4 compiler itself on the Pi hardware in order to get it
> working correctly? If that is the case then fpc from tar seems not to
> have something that an fpc from the same sources but compiled locally
> will contain. And this something is not needed for compiling FPC?

Here's what I do. For any given architecture or- in the case of the RPi- 
variant of an architecture, try to find a binary that is tailored to it. 
In some cases that might be older (or newer) than the official stable 
release. Either get the fpcbuild bundle corresponding to that and build 
it, or in some cases you'll need to check a specified revision (etc.) 
out of svn. Compile that, noting any instructions you're given (e.g. if 
I remember correctly, for some early versions you had to warn the 
compiler etc. that it was to build the hardware float variant). Where 
feasible build other versions using the fpcbuild sources, except that 
trunk obviously needs to be built from svn; note that at present there's 
an fpcbuild for v3 RCx.

As I've noted in some detail in the Lazarus conf over the last few days, 
there's a preferred version of FPC for each Lazarus version, i.e. you 
can check out a tagged Lazarus release from svn and build it with a 
specific FPC. If running multiple versions you'll make life much easier 
for yourself if you make sure that Lazarus is always started off with a 
--pcp option.

Martin has gone to the trouble of making a binary available for the RPi. 
As I've discussed in this ML, there are problems with that on Raspbian 
Wheezy 2014 but these are just about fixed on 2015, much thanks to Jonas 
and others for setting me right on details relating to paths etc.  I 
can't remember where I've got to with Jessie.

So. I'd suggest that you start off with Martin's binary, build the 
matching 2.6.4, then build v3 RCx. On a PC, I've found Lazarus 1.4.2 OK 
with FPC v3 (RCwhatever), as I've said I can't remember where I've got 
to with Jessie.

> My previous tests with svn versions were based on svn trunk sources
> and FPC was compiled with this tar binary into the 3.1.1 version, then
> this fpc 3.1.1 was used to compile Lazarus itself.
> Anyway, I decided to try to go the apt-get route instead irrespective
> of the webpage notes I found in several places stating that it does
> not work for getting fpc and lazarus installed on an RPi2.

You decided based on whose advice exactly? Martin, myself and others 
have been telling you how to get things working... /repeatedly/ telling 
you how to get things working, then you go off on a tangent and complain 
that you've spent a day fruitlessly.

And to make it worse, you're complaining about fruitless work attempts 
on the Sabbath :-)

[I'm Welsh. We have plenty of jokes about people working on the Sabbath.]

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