FPC 3.0.0 seed compiler for Rasperry Pi ARM?

classic Classic list List threaded Threaded
22 messages Options
12
Reply | Threaded
Open this post in threaded view
|

FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Bo Berglund
I have a script for building FPC and Lazarus from scratch on Raspberry
Pi. This script starts by downloading the seed compiler from this
location:
http://sourceforge.net/projects/freepascal/files/Linux/2.6.4/fpc-2.6.4.arm-linux.tar

But I have not found a seed compiler for ARM at that location
(replacing 2.6.4 by 3.0.0 in the URL), only the x86_64 and i386
targets are available here.
Is there another *official* source for the 3.0.0 seed compiler for
ARM?
I have seen a number of private sites offering installation packages
for fpc 3.0.0 and lazarus 1.6.x but I would rather have the files from
an official source...


--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Bo Berglund
On Sat, 31 Dec 2016 08:15:51 +0100, Bo Berglund
<[hidden email]> wrote:

>I have a script for building FPC and Lazarus from scratch on Raspberry
>Pi. This script starts by downloading the seed compiler from this
>location:
>http://sourceforge.net/projects/freepascal/files/Linux/2.6.4/fpc-2.6.4.arm-linux.tar
>
>But I have not found a seed compiler for ARM at that location
>(replacing 2.6.4 by 3.0.0 in the URL), only the x86_64 and i386
>targets are available here.
>Is there another *official* source for the 3.0.0 seed compiler for
>ARM?

Since I did not get any replies so far I am expanding the qusetion as
follows:
If I build my own binary of FPC 3.0.0, what is then needed in order to
create a binary seed distribution for FPC 3.0.0 on ARM for Raspberry
Pi so I can put it on my own site to make the scripts work for
building later versions of Lazarus?
I assume I need a whole lot of source files etc also in addition to
the binary?

The goal is to upgrade my script for FPC and Lazarus installation so
it won't require FPC 2.6.4 anymore but allow a full installation of
the suite on a fresh Raspberry Pi box.
My script can be viewed here:
http://blog.boberglund.com/install_laz_pi.sh



--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Anthony Walter-3
Here is a minimal FPC for the Pi:


It's compact, installs in your home folder, and include a terminal shortcut.

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Bo Berglund
On Wed, 4 Jan 2017 17:00:22 -0500, Anthony Walter
<[hidden email]> wrote:

>Here is a minimal FPC for the Pi:
>
>https://www.getlazarus.org/setup/minimal/
>
>It's compact, installs in your home folder, and include a terminal shortcut.

Thanks,
I downloaded from the RaspberryPi link:
http://cache.getlazarus.org/archives/fpc-3.0.0.raspberry-min.tar.gz

Then expanded the tar.gz file into a tar file. Expanded that and found
another tar.gz file (plus a "setup.sh" script file), so I had to
expand that gz as well and found yet another tar file....
Finally this one expanded to a folder structure with 242 files and 14
folders for a total of 35,719,274 bytes.

Seems rather complex...
The setup.sh file in the middle of these expansions seems to be not
suited to unattended operation since it stops and asks a number of
questions....

I'll try to look through the script file and see if I understand what
it is *really* doing apart from asking the user.

Note:
I just need the seed compiler to be able to build FPC from sources.
And build Lazarus of course.


--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Karoly Balogh (Charlie/SGR)
Hi,

On Thu, 5 Jan 2017, Bo Berglund wrote:

> I just need the seed compiler to be able to build FPC from sources.
> And build Lazarus of course.

Then you need "ppcarm" from that archive, and nothing else. Just copy it
whereever you want, in your home dir, or something and do:

make all install FPC=<path/to/seed/ppcarm> INSTALL_PREFIX=<install/new/fpc/here>

in the root of the SVN tree.

FPC works from pretty much anywhere. You can have multiple copies in your
home easily. It doesn't have to be installed at a certain location.

Lazarus I don't know, but I imagine it's similar.

Charlie
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Anthony Walter-3
In reply to this post by Bo Berglund
Bo,

Extract the archive file, then run the setup script. That's all.

The script will then take care of the rest, including giving you option to choose the minimal fpc 3.0 arm compiler install location, as well as creating a debian style ".desktop" file to open a terminal with the minimal compiler in your path that sees a valid config file for said minimal fpc 3.0 compiler.

When done you can delete the original archive and the extracted contents. To delete the minimal compiler entirely, just delete the folder you chose for installation and all traces of it will be gone.

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Bo Berglund
In reply to this post by Karoly Balogh (Charlie/SGR)
On Thu, 5 Jan 2017 02:07:00 +0100 (CET), "Karoly Balogh (Charlie/SGR)"
<[hidden email]> wrote:

>Hi,
>
>On Thu, 5 Jan 2017, Bo Berglund wrote:
>
>> I just need the seed compiler to be able to build FPC from sources.
>> And build Lazarus of course.
>
>Then you need "ppcarm" from that archive, and nothing else. Just copy it
>whereever you want, in your home dir, or something and do:
>
>make all install FPC=<path/to/seed/ppcarm> INSTALL_PREFIX=<install/new/fpc/here>
>
>in the root of the SVN tree.
>
>FPC works from pretty much anywhere. You can have multiple copies in your
>home easily. It doesn't have to be installed at a certain location.
>

Thanks for the info!
I will put the ppcarm file into a new tar file and upload this to my
website as the seed compiler. Then I will modify my install script to
get this tar file rather than the one it now gets (2.6.4 from SF).
And I will NOT put it into /usr/bin but keep it somewhere in the home
dir tree.

What I also need to do is to create a fpc.cfg file and put that in a
proper location. In the setup.sh file in the download I found this
command:

# Create the cfg file
$FPCDIR/bin/fpcmkcfg -d basepath=$FPCDIR/lib/fpc/\$FPCVERSION -o
$FPCDIR/bin/fpc.cfg

I should be able to use something similar provided I also add fpcmkcfg
into the tar file, right? Seems like it deposits the fpc.cfg file in
the same dir as ppcarm. Will such a file override any same name file
located on path?

Note that my install script is made to assume nothing about the target
RPi system, so it must contain everything needed.


--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Bo Berglund
In reply to this post by Karoly Balogh (Charlie/SGR)
On Thu, 5 Jan 2017 02:07:00 +0100 (CET), "Karoly Balogh (Charlie/SGR)"
<[hidden email]> wrote:

>Hi,
>
>On Thu, 5 Jan 2017, Bo Berglund wrote:
>
>> I just need the seed compiler to be able to build FPC from sources.
>> And build Lazarus of course.
>
>Then you need "ppcarm" from that archive, and nothing else. Just copy it
>whereever you want, in your home dir, or something and do:
>
>make all install FPC=<path/to/seed/ppcarm> INSTALL_PREFIX=<install/new/fpc/here>
>
>in the root of the SVN tree.
>
>FPC works from pretty much anywhere. You can have multiple copies in your
>home easily. It doesn't have to be installed at a certain location.

I am still a bit confused about the different options when compiling,
so I want to make a test. I have put the ppcarm from getlazarus into
this dir: ~/bin/fpc/3.0.0
I also downloaded the fpc 3.0.2RC1 sources from svn into:
~/dev/fpc/3.0.2RC1

So in order to build the fpc 3.0.2RC1 compiler I have tried applying
your command as follows (all on one line and specifying the ARM
architecture for RPi2 and RPi3 as ARM7):

make all install FPC="/home/pi/bin/fpc/3.0.0"
INSTALL_PREFIX="/home/pi/bin/fpc/3.0.2RC1" OPT="-dFPC_ARMHF"

Will this put the binaries into the /home/pi/bin/fpc/3.0.2RC1 ?

I really do not want the make install command change anything else
like symlinking to the RC1 ppcarm file.
Currently the compiler on path is:
$ which ppcarm
/usr/bin/ppcarm

And it is my production compiler, I don't want this to be changed and
I don't know what the "install" part of the make command might do...


--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Bo Berglund
I went ahead and tried the command but it failed miserably...

pi@rpi3-jessie:~/dev/fpc/3.0.2RC1 $ make all install
FPC="/home/pi/bin/fpc/3.0.0"
INSTALL_PREFIX="/home/pi/bin/fpc/3.0.2RC1" OPT="-dFPC_ARMHF"
make: execvp: /home/pi/bin/fpc/3.0.0: Permission denied
make compiler_cycle RELEASE=1
make[1]: Entering directory '/home/pi/dev/fpc/3.0.2RC1'
make[1]: execvp: /home/pi/bin/fpc/3.0.0: Permission denied
make -C compiler cycle
make[2]: Entering directory '/home/pi/dev/fpc/3.0.2RC1/compiler'
make[2]: execvp: /home/pi/bin/fpc/3.0.0: Permission denied
make tempclean ppc3.exe
make[3]: Entering directory '/home/pi/dev/fpc/3.0.2RC1/compiler'
make[3]: execvp: /home/pi/bin/fpc/3.0.0: Permission denied
/bin/rm -f ppcross ppc ppc1.exe ppc2.exe ppc3.exe ./msg2inc.exe
pp1.wpo pp2.wpo
make 'OLDFPC=' next CYCLELEVEL=1
make[4]: Entering directory '/home/pi/dev/fpc/3.0.2RC1/compiler'
make[4]: execvp: /home/pi/bin/fpc/3.0.0: Permission denied
make rtlclean rtl
make[5]: Entering directory '/home/pi/dev/fpc/3.0.2RC1/compiler'
make[5]: execvp: /home/pi/bin/fpc/3.0.0: Permission denied
make -C  clean
make[6]: Entering directory '/home/pi/dev/fpc/3.0.2RC1/compiler'
make[6]: *** clean: No such file or directory.  Stop.
make[6]: Leaving directory '/home/pi/dev/fpc/3.0.2RC1/compiler'
Makefile:4154: recipe for target 'rtlclean' failed
make[5]: *** [rtlclean] Error 2
make[5]: Leaving directory '/home/pi/dev/fpc/3.0.2RC1/compiler'
Makefile:4043: recipe for target 'next' failed
make[4]: *** [next] Error 2
make[4]: Leaving directory '/home/pi/dev/fpc/3.0.2RC1/compiler'
Makefile:4048: recipe for target 'ppc1.exe' failed
make[3]: *** [ppc1.exe] Error 2
make[3]: Leaving directory '/home/pi/dev/fpc/3.0.2RC1/compiler'
Makefile:4060: recipe for target 'cycle' failed
make[2]: *** [cycle] Error 2
make[2]: Leaving directory '/home/pi/dev/fpc/3.0.2RC1/compiler'
Makefile:2816: recipe for target 'compiler_cycle' failed
make[1]: *** [compiler_cycle] Error 2
make[1]: Leaving directory '/home/pi/dev/fpc/3.0.2RC1'
Makefile:2848: recipe for target 'build-stamp.-' failed
make: *** [build-stamp.-] Error 2

Why are these permissions denied when I operate in my home directory
tree? Do I really need to use sudo to build fpc?


--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Karoly Balogh (Charlie/SGR)
Hi

On Sat, 7 Jan 2017, Bo Berglund wrote:

> I went ahead and tried the command but it failed miserably...
>
> pi@rpi3-jessie:~/dev/fpc/3.0.2RC1 $ make all install
> FPC="/home/pi/bin/fpc/3.0.0"
> INSTALL_PREFIX="/home/pi/bin/fpc/3.0.2RC1" OPT="-dFPC_ARMHF"

With FPC, You need to specify the whole path to the ppcarm binary, not the
directory you installed 3.0 into. As I said, you need nothing in fact from
3.0, but ppcarm.

Charlie

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Sven Barth-2
In reply to this post by Bo Berglund

Am 07.01.2017 11:33 schrieb "Bo Berglund" <[hidden email]>:
> make all install FPC="/home/pi/bin/fpc/3.0.0"
> INSTALL_PREFIX="/home/pi/bin/fpc/3.0.2RC1" OPT="-dFPC_ARMHF"
>
> Will this put the binaries into the /home/pi/bin/fpc/3.0.2RC1 ?
>
> I really do not want the make install command change anything else
> like symlinking to the RC1 ppcarm file.
> Currently the compiler on path is:
> $ which ppcarm
> /usr/bin/ppcarm

The install make target only copies the binaries and PPUs to a directory structure below the specified INSTALL_PREFIX. It does not create symlinks or touch any fpc.cfg.

Regards,
Sven


_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Bo Berglund
In reply to this post by Karoly Balogh (Charlie/SGR)
On Sat, 7 Jan 2017 12:24:39 +0100 (CET), "Karoly Balogh (Charlie/SGR)"
<[hidden email]> wrote:

>Hi
>
>On Sat, 7 Jan 2017, Bo Berglund wrote:
>
>> I went ahead and tried the command but it failed miserably...
>>
>> pi@rpi3-jessie:~/dev/fpc/3.0.2RC1 $ make all install
>> FPC="/home/pi/bin/fpc/3.0.0"
>> INSTALL_PREFIX="/home/pi/bin/fpc/3.0.2RC1" OPT="-dFPC_ARMHF"
>
>With FPC, You need to specify the whole path to the ppcarm binary, not the
>directory you installed 3.0 into. As I said, you need nothing in fact from
>3.0, but ppcarm.

Thanks,
I mis-interpreted your post to mean the *directory* of the compiler.
After adding /ppcarm in the end it did complete!

Then I went looking for the new ppcarm compiler and found it in these
locations:

/home/pi/dev/fpc/3.0.2RC1/compiler/ppcarm (in the source tree)
/home/pi/bin/fpc/3.0.2RC1/lib/fpc/3.0.2/ppcarm (in the install tree)

I guess that the first location is the result of make all command and
the second of the install command?

My question now is why the compiler binary was placed into the
subdirectory lib/fpc/3.0.2/ of the INSTALL_PREFIX path rather than in
that directory itself?
And it seems like the other compiled binaries are collected in one
place, but that is also a subdirectory...
So all of the other binaries were placed in
/home/pi/bin/fpc/3.0.2RC1/bin

Is there a reason for this strange behaviour? Especially why the
actual new compiler was placed in such a remote place?


--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Sven Barth-2
On 08.01.2017 11:20, Bo Berglund wrote:

> On Sat, 7 Jan 2017 12:24:39 +0100 (CET), "Karoly Balogh (Charlie/SGR)"
> <[hidden email]> wrote:
> Then I went looking for the new ppcarm compiler and found it in these
> locations:
>
> /home/pi/dev/fpc/3.0.2RC1/compiler/ppcarm (in the source tree)
> /home/pi/bin/fpc/3.0.2RC1/lib/fpc/3.0.2/ppcarm (in the install tree)
>
> I guess that the first location is the result of make all command and
> the second of the install command?

Correct.

> My question now is why the compiler binary was placed into the
> subdirectory lib/fpc/3.0.2/ of the INSTALL_PREFIX path rather than in
> that directory itself?
> And it seems like the other compiled binaries are collected in one
> place, but that is also a subdirectory...
> So all of the other binaries were placed in
> /home/pi/bin/fpc/3.0.2RC1/bin
>
> Is there a reason for this strange behaviour? Especially why the
> actual new compiler was placed in such a remote place?
>

The install make target places the main binaries in /bin and the ppcXXX
binaries in /lib/fpc/$VERSION as this follows Posix principles.
INSTALL_PREFIX does exactly what its name says: it adds a prefix to
these paths.

Regards,
Sven

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Bo Berglund
On Sun, 8 Jan 2017 11:25:58 +0100, Sven Barth
<[hidden email]> wrote:

>> Is there a reason for this strange behaviour? Especially why the
>> actual new compiler was placed in such a remote place?
>>
>
>The install make target places the main binaries in /bin and the ppcXXX
>binaries in /lib/fpc/$VERSION as this follows Posix principles.
>INSTALL_PREFIX does exactly what its name says: it adds a prefix to
>these paths.

So in order to get them collected into a single dir one needs to
either symlink or copy ppcarm there?

If I look at my existing installation of fpc I notice that most
binaries are placed directly inside /usr/bin except for ppcarm which
is symlinked into this directory, so it gets on path.
Is there a reason for this? One would think that *all* binaries of an
fpc install would get into the same directory without extra
afterwork...

Question:
Is there some agreed-upon Linux standard on where to place an fpc
installation when it is not made via sudo? I.e. when the install is
private to the current user.
Maybe ~/usr?

I am trying to change my setup script so it won't need sudo and so it
won't place stuff into globally accessible directories. The script is
designed to install first FPC and then Lazarus on a pristine Raspberry
Pi box by compiling from sources retrieved via svn.

The seed compiler (which this thread is really about) will be handled
by putting it into a tar file on my website so the script can download
it from there. Now only remains to find a sensible way to store the
installed system and set up a path to the binaries.

Thanks for any help and insight!

PS: I am using Linux on my RPi from time to time but I am not a versed
Linux user... DS

--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Bo Berglund
In reply to this post by Sven Barth-2
On Sat, 7 Jan 2017 13:19:09 +0100, Sven Barth
<[hidden email]> wrote:

>Am 07.01.2017 11:33 schrieb "Bo Berglund" <[hidden email]>:
>> make all install FPC="/home/pi/bin/fpc/3.0.0"
>> INSTALL_PREFIX="/home/pi/bin/fpc/3.0.2RC1" OPT="-dFPC_ARMHF"
>>
>> Will this put the binaries into the /home/pi/bin/fpc/3.0.2RC1 ?
>>
>
>The install make target only copies the binaries and PPUs to a directory
>structure below the specified INSTALL_PREFIX. It does not create symlinks
>or touch any fpc.cfg.
>
Thanks,
I have now gone over my fpc/lazarus install script and changed it
according to the info gotten here. But one issue remains:

Where does make sourceinstall put the sourcefiles when I use
PREFIX=/home/pi?

You said that the make all and make install use the PREFIX value by
adding in /bin and /lib/fpc/$VERSION after PREFIX when storing the
binaries.
Is there some such built-in path also for sourceinstall and if so what
is it?

Or could I skip the sourceinstall part and just point lazarus to the
downloaded sources from SVN from which fpc was built?


--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Bart-48
On 1/9/17, Bo Berglund <[hidden email]> wrote:

> Or could I skip the sourceinstall part and just point lazarus to the
> downloaded sources from SVN from which fpc was built?

Generally speaking, for Lazarus that is enough.
Sources are needed for CodeTools, not for compiling/building.

Bart
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Bo Berglund
In reply to this post by Bo Berglund
I have trouble understanding what I see after my build attempt. Please
say what I am doing wrong...

- Sources for FPC 3.0.2RC1 are in ~/dev/fpc/3.0.2RC1
- Seed compiler ppcarm v. 3.0.0 is in ~/dev/fpc
- ~/bin is empty
- I move into the source dir ~/dev/fpc/3.0.2RC1
- I run this command:
make all install FPC="/home/pi/dev/fpc/ppcarm"
INSTALL_PREFIX="/home/pi" OPT="-dFPC_ARMHF"
- The command executes for 12 minutes and ends without error
- I look in ~/bin and it now contains a lot of executables
- The compiler is in /home/pi/lib/fpc/3.0.2/ so I link it to bin:
ln -sf "/home/pi/lib/fpc/3.0.2/ppcarm" "/home/pi/bin/ppcarm"

Now if I am in ~ and enter ppcarm the result shows up as:
~ $ ppcarm
Free Pascal Compiler version 3.0.2rc1 [2017/01/09] for arm
....

Next, if I enter fpc I get this:
~ $ fpc
Free Pascal Compiler version 3.0.0 [2016/03/05] for arm
Copyright (c) 1993-2015 by Florian Klaempfl and others
/usr/bin/fpc [options] <inputfile> [options]

So I move into the bin dir and repeat the fpc command:
<same result showing the wrong location>

Next I use ./fpc and get a different result:
~/bin $ ./fpc
Free Pascal Compiler version 3.0.2rc1 [2017/01/09] for arm
Copyright (c) 1993-2016 by Florian Klaempfl and others
/home/pi/bin/fpc [options] <inputfile> [options]

My path is:
~/bin $ echo $PATH
/home/pi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

Finally back in the home root:
~ $ which fpc
/home/pi/bin/fpc
So clearly fpc is here detected in the correct location yet when it
executes it seems to go wrong.

Why is execution of the command fpc picking up the old /usr/bin/fpc
rather than the /home/pi/bin/fpc that is clearly before in the path
sequence?


--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Bo Berglund
In reply to this post by Karoly Balogh (Charlie/SGR)
On Thu, 5 Jan 2017 02:07:00 +0100 (CET), "Karoly Balogh (Charlie/SGR)"
<[hidden email]> wrote:

>Hi,
>
>On Thu, 5 Jan 2017, Bo Berglund wrote:
>
>> I just need the seed compiler to be able to build FPC from sources.
>> And build Lazarus of course.
>
>Then you need "ppcarm" from that archive, and nothing else. Just copy it
>whereever you want, in your home dir, or something and do:
>
>make all install FPC=<path/to/seed/ppcarm> INSTALL_PREFIX=<install/new/fpc/here>
>
>in the root of the SVN tree.
>
>FPC works from pretty much anywhere. You can have multiple copies in your
>home easily. It doesn't have to be installed at a certain location.
>
>Lazarus I don't know, but I imagine it's similar.

It looks like Lazarus needs to know where the fpc sources are located
because I always get this error when trying to build lazarus bigide
the first time:

/home/pi/bin/ppcarm -MObjFPC -Scghi -O1 -g -gl -l -vewnhibq -Fu. -FE.
-FU../units/arm-linux -dFPC_ARMHF -darm fcllaz.pas
Hint: (11030) Start of reading config file /home/pi/.fpc.cfg
Hint: (11031) End of reading config file /home/pi/.fpc.cfg
Free Pascal Compiler version 3.0.0 [2017/01/09] for arm
Copyright (c) 1993-2015 by Florian Klaempfl and others
(1002) Target OS: Linux for ARMHF
(3104) Compiling fcllaz.pas
Fatal: (10022) Can't find unit system used by fcllaz
Fatal: (1018) Compilation aborted

The file ~/.fpc.cfg has been generated by running command:
fpcmkcfg -o ./.fpc.cfg

But I have not edited it in any way.

The unit system it fails to find is in the fpc sources, so somehow
make must be told where they are located...

It looks like the error message shows that the lazarus make command
does not find the fpc sources, which I have in my ~/dev/fpc/3.0.0
directory and I also ran the following command to put them into some
structure known by fpc:
make sourceinstall PREFIX=/home/pi

This put a copy of the sources into ~/share/....

But it seems like I am missing the way to tell lazarus make where they
are...


--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Mattias Gaertner
On Tue, 10 Jan 2017 09:08:55 +0100
Bo Berglund <[hidden email]> wrote:

>[...]
> It looks like Lazarus needs to know where the fpc sources are located
> because I always get this error when trying to build lazarus bigide
> the first time:

Lazarus does not need the FPC sources for building.

 
>[...]
> (3104) Compiling fcllaz.pas
> Fatal: (10022) Can't find unit system used by fcllaz
> Fatal: (1018) Compilation aborted
>
> The file ~/.fpc.cfg has been generated by running command:
> fpcmkcfg -o ./.fpc.cfg
>
> But I have not edited it in any way.

Check its -Fu paths.

 
> The unit system it fails to find is in the fpc sources, so somehow
> make must be told where they are located...

It fails to find the "unit", not the sources. Either a ppu is missing
or is incompatible.

>[...]

Mattias
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: FPC 3.0.0 seed compiler for Rasperry Pi ARM?

Bo Berglund
On Tue, 10 Jan 2017 11:30:35 +0100, Mattias Gaertner
<[hidden email]> wrote:

>Lazarus does not need the FPC sources for building.
>
>
>>[...]
>> (3104) Compiling fcllaz.pas
>> Fatal: (10022) Can't find unit system used by fcllaz
>> Fatal: (1018) Compilation aborted
>>
>> The file ~/.fpc.cfg has been generated by running command:
>> fpcmkcfg -o ./.fpc.cfg
>>
>> But I have not edited it in any way.
>
>Check its -Fu paths.

This is what I found:
# searchpath for units and other system dependent things
-Fu/units/$fpctarget
-Fu/units/$fpctarget/*
-Fu/units/$fpctarget/rtl

It does not really look like a path, at least not a full path.
What should the correct setting be?

>
>> The unit system it fails to find is in the fpc sources, so somehow
>> make must be told where they are located...
>
>It fails to find the "unit", not the sources. Either a ppu is missing
>or is incompatible.

I found the system.ppu as follows:

~ $ find /home/pi/ -name system.ppu
/home/pi/lib/fpc/3.0.0/units/arm-linux/rtl/system.ppu

Given that path, what would the correct fpc.cfg setting be?
Something like this perhaps:

-Fu/home/pi/lib/fpc/$fpcversion/units/$fpctarget
-Fu/home/pi/lib/fpc/$fpcversion/units/$fpctarget/*
-Fu/home/pi/lib/fpc/$fpcversion/units/$fpctarget/rtl

I read in a googled article
(http://wiki.freepascal.org/Installing_Lazarus#Installing_from_source)
that one should set these (obviously they are for Windows, but
anyway...):

-FuC:\freepascal\fpc\$FPCVERSION/units/$FPCTARGET/
-FuC:\freepascal\fpc\$FPCVERSION/units/$FPCTARGET/*
-FuC:\freepascal\fpc\$FPCVERSION/units/$FPCTARGET/rtl

Tried to adapt that but to no avail (of course thinking about
sourcefiles then). So this is tested:

-FuC:/home/pi/dev/fpc/$FPCVERSION/rtl/$FPCTARGET/
-FuC:/home/pi/dev/fpc/$FPCVERSION/rtl/$FPCTARGET/*
-FuC:/home/pi/dev/fpc/$FPCVERSION/rtl/$FPCTARGET/rtl


--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
12