Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2016-12

FPC 3.0.0 seed compiler for Rasperry Pi ARM?

22 messages · 6 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

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

Reply by email

Bo Berglund
to Bo Berglund
Bo Berglund wrote 10 lines
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

Reply by email

Bo Berglund
to Anthony Walter
Anthony Walter wrote 5 lines
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

Reply by email

Karoly Balogh (Charlie/SGR
to Bo Berglund

Hi,

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

Reply by email

Anthony Walter
to Bo Berglund: On Wed, 4 Jan 2017 17:00:22 -0500, Anthony Walter I downloaded from the RaspberryPi link:…

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.

Reply by email

Bo Berglund
to Karoly Balogh (Charlie/SGR: Then you need "ppcarm" from that archive, and nothing else. Just copy it whereever you…
Show quoted text 17 lines
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

Reply by email

Bo Berglund
to Karoly Balogh (Charlie/SGR: Then you need "ppcarm" from that archive, and nothing else. Just copy it whereever you…
Show quoted text 16 lines
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

Reply by email

Bo Berglund
to Bo Berglund

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

$ 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

Reply by email

Karoly Balogh (Charlie/SGR
to Bo Berglund

Hi

Bo Berglund wrote 5 lines
I went ahead and tried the command but it failed miserably... $ 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

Reply by email

Sven Barth
to Bo Berglund: On Thu, 5 Jan 2017 02:07:00 +0100 (CET), "Karoly Balogh (Charlie/SGR)" I am still a bit…
"Bo Berglund" wrote 10 lines
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

Reply by email

Bo Berglund
to Karoly Balogh (Charlie/SGR: Hi With FPC, You need to specify the whole path to the ppcarm binary, not the directory…
Show quoted text 13 lines
Hi On Sat, 7 Jan 2017, Bo Berglund wrote: > I went ahead and tried the command but it failed miserably... > > $ 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

Reply by email

Sven Barth
to Bo Berglund
Bo Berglund wrote 10 lines
On Sat, 7 Jan 2017 12:24:39 +0100 (CET), "Karoly Balogh (Charlie/SGR)" 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.

Show quoted text 11 lines
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

Reply by email

Bo Berglund
to Sven Barth
Sven Barth wrote 8 lines
> 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

Reply by email

Bo Berglund
to Sven Barth: The install make target only copies the binaries and PPUs to a directory structure below…
Sven Barth wrote 11 lines
Am 07.01.2017 11:33 schrieb "Bo Berglund" : > 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

Reply by email

Bart
to Bo Berglund
Bo Berglund 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

Reply by email

Bo Berglund
to Bo Berglund: On Sat, 7 Jan 2017 13:19:09 +0100, Sven Barth I have now gone over my fpc/lazarus install…

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

Reply by email

Bo Berglund
to Karoly Balogh (Charlie/SGR: Then you need "ppcarm" from that archive, and nothing else. Just copy it whereever you…
Show quoted text 18 lines
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

Reply by email

Mattias Gaertner
to Bo Berglund
[...] 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.

Show quoted text 9 lines
[...] (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

Reply by email

Bo Berglund
to Mattias Gaertner
Mattias Gaertner wrote 14 lines
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?

Show quoted text 6 lines
> 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

Reply by email

Mattias Gaertner
to Bo Berglund
Show quoted text 12 lines
[...] 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

Yes.

Mattias

Reply by email

Bo Berglund
to Mattias Gaertner
Mattias Gaertner wrote 18 lines
On Tue, 10 Jan 2017 14:26:20 +0100 Bo Berglund wrote: >[...] > 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 Yes.

I ended up following your advice in the lazarus list by using the samplecfg utility as follows:

/home/pi/lib/fpc/3.0.0/samplecfg /home/pi/lib/fpc/3.0.0 /home/pi

And it produced an fpc.cfg file with the -Fu settings shown above. It even replaced the 3.0.0 with the $fpcversion macro.

So I scrapped my old ~/.fpc.cfg file and replaced it with the one made by samplecfg.

And Lo-And-Behold!
The lazarus make bigide worked to the end!
So now I just have to create the desktop file so Lazarus will appear in the menu correctly and I can fire it up! :)

Thanks for your advice!
All of this goes into my installation script, which I use every time I create a new RPi image. My problems this time come from the fact that I wanted to get away from the /usr/ tree where one has to be sudo all the time. So both FPC and Lazarus now go into $HOME. And standard install of for example the seed compiler does not work...

Bo Berglund Developer in Sweden

Reply by email