Sign in Join

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

Mailing lists / fpc-pascal / 2017-05

Error building FPC 3.0.2 from svn sources on RPi3

9 messages · 5 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 bought and initialized a new RPi3 today. It runs Raspbian Jessie PIXEL latest version.
To install FPC I use a script file which sets up the Pi for FPC development with FPC3.0.2 and Lazarus 1.6.4.
It automatically downloads all needed fpc and lazarus files using svn and it also updates the system with the dependencies before starting the download.

The script can be found here:
http://blog.boberglund.com/install_lazfpc_local_pi.sh

Before running the script I have prepared the system as follows:
1) Created directory /home/pi/bin
2) Logged off, then on again to make the bin dir appear in $PATH
3) Edited the script config to reflect the wanted version FPC 3.0.2 and Lazarus 1.6.4
4) Then started the script

The script runs fine for about 19 minutes when it exits with a bunch of error messages I don't understand. Last time I installed on a brand new RPi3 it sucessfully ran all the way to the end.

The command that fails after a long time is:

make install OPT=-dFPC_ARMHF PREFIX=/home/pi

What can be done about this and what is causing it? I do not understand what -iVSPTPSOTO is...

Here is the error output:
--------------------------
/usr/bin/ld: warning: ./link.res contains output sections; did you forget -T?
make[2]: Leaving directory '/home/pi/dev/fpc/3.0.2/installer' make[1]: Leaving directory '/home/pi/dev/fpc/3.0.2' /bin/echo Build > build-stamp.arm-linux
/bin/echo Build > base.build-stamp.arm-linux
make: -iVSPTPSOTO: Command not found
make compiler_cycle RELEASE=1
make[1]: Entering directory '/home/pi/dev/fpc/3.0.2' make[1]: -iVSPTPSOTO: Command not found
make -C compiler cycle
make[2]: Entering directory '/home/pi/dev/fpc/3.0.2/compiler' make[2]: -iVSPTPSOTO: Command not found
make tempclean ppc3.exe
make[3]: Entering directory '/home/pi/dev/fpc/3.0.2/compiler' make[3]: -iVSPTPSOTO: Command not found
/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.2/compiler' make[4]: -iVSPTPSOTO: Command not found
make rtlclean rtl
make[5]: Entering directory '/home/pi/dev/fpc/3.0.2/compiler' make[5]: -iVSPTPSOTO: Command not found
make -C clean
make[6]: Entering directory '/home/pi/dev/fpc/3.0.2/compiler' make[6]: *** clean: No such file or directory. Stop. make[6]: Leaving directory '/home/pi/dev/fpc/3.0.2/compiler' Makefile:4078: recipe for target 'rtlclean' failed make[5]: *** [rtlclean] Error 2
make[5]: Leaving directory '/home/pi/dev/fpc/3.0.2/compiler' Makefile:3967: recipe for target 'next' failed
make[4]: *** [next] Error 2
make[4]: Leaving directory '/home/pi/dev/fpc/3.0.2/compiler' Makefile:3972: recipe for target 'ppc1.exe' failed make[3]: *** [ppc1.exe] Error 2
make[3]: Leaving directory '/home/pi/dev/fpc/3.0.2/compiler' Makefile:3984: recipe for target 'cycle' failed
make[2]: *** [cycle] Error 2
make[2]: Leaving directory '/home/pi/dev/fpc/3.0.2/compiler' Makefile:2779: recipe for target 'compiler_cycle' failed make[1]: *** [compiler_cycle] Error 2
make[1]: Leaving directory '/home/pi/dev/fpc/3.0.2' Makefile:2811: recipe for target 'build-stamp.-' failed make: *** [build-stamp.-] Error 2
install_lazfpc_local_pi.sh: 150: Cannot make install! Aborting

Bo Berglund Developer in Sweden

Reply by email

leledumbo
to Bo Berglund
I do not understand what -iVSPTPSOTO is...

That's what happened when the compiler cannot be called by make. Watch:

make: -iVSPTPSOTO: Command not found

it's a parameter list for fpc to get (from fpc -h):

-i Information
...
-iSO Return compiler OS
-iSP Return compiler host processor
-iTO Return target OS
-iTP Return target processor
-iV Return short compiler version
...

View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Error-building-FPC-3-0-2-from-svn-sources-on-RPi3-tp5728941p5728942.html Sent from the Free Pascal - General mailing list .

Reply by email

Tomas Hajny
to Bo Berglund: I have bought and initialized a new RPi3 today. It runs Raspbian Jessie PIXEL latest…
Bo Berglund wrote 28 lines
I have bought and initialized a new RPi3 today. It runs Raspbian Jessie PIXEL latest version. To install FPC I use a script file which sets up the Pi for FPC development with FPC3.0.2 and Lazarus 1.6.4. It automatically downloads all needed fpc and lazarus files using svn and it also updates the system with the dependencies before starting the download. The script can be found here: http://blog.boberglund.com/install_lazfpc_local_pi.sh Before running the script I have prepared the system as follows: 1) Created directory /home/pi/bin 2) Logged off, then on again to make the bin dir appear in $PATH 3) Edited the script config to reflect the wanted version FPC 3.0.2 and Lazarus 1.6.4 4) Then started the script The script runs fine for about 19 minutes when it exits with a bunch of error messages I don't understand. Last time I installed on a brand new RPi3 it sucessfully ran all the way to the end. The command that fails after a long time is: make install OPT=-dFPC_ARMHF PREFIX=/home/pi What can be done about this and what is causing it? I do not understand what -iVSPTPSOTO is...

These are FPC command line options used in the Makefile to gather information about your environment. Apparently, the compiler binary was not found, which is the reason why it's missing before the parameters.

Reply by email

Bo Berglund
to Bo Berglund: I have bought and initialized a new RPi3 today. It runs Raspbian Jessie PIXEL latest…
Bo Berglund wrote
make install OPT=-dFPC_ARMHF PREFIX=/home/pi

I noticed the "command not found" error and realized that the command did not specify the ppcarm location. Since this is a barebones RPi3 there is no path to ppcarm yet. FPC needs to be specified.

It should have read:

make install OPT=-dFPC_ARMHF PREFIX=/home/pi
FPC="/home/pi/dev/fpc/ppcarm"

I have stepped through the remaining lines in the script and manually entered the commands with proper expansion of the config variables and it seems like it does work now.

Bo Berglund Developer in Sweden

Reply by email

Bo Berglund
to Giuliano Colla
Giuliano Colla wrote 8 lines
Il 29/05/2017 23:28, Bo Berglund ha scritto: > I have bought and initialized a new RPi3 today. It runs Raspbian > Jessie PIXEL latest version. I don't know what you're going to use your RPi3 for, but just in case, are you aware that now you can install an RT_PREEMPT kernel, and enjoy the real-time patch low latencies?

This new RPi3 is meant for experimenting with GIT usage (our version system otherwise is CVS).
But I also have other systems where a real time system would be handy. Do you have more info on this?

Bo Berglund Developer in Sweden

Reply by email

Paul Breneman
to Bo Berglund
Bo Berglund wrote 16 lines
On Tue, 30 May 2017 17:49:03 +0200, Giuliano Colla wrote: > Il 29/05/2017 23:28, Bo Berglund ha scritto: > >> I have bought and initialized a new RPi3 today. It runs Raspbian >> Jessie PIXEL latest version. > I don't know what you're going to use your RPi3 for, but just in case, > are you aware that now you can install an RT_PREEMPT kernel, and enjoy > the real-time patch low latencies? > This new RPi3 is meant for experimenting with GIT usage (our version system otherwise is CVS). But I also have other systems where a real time system would be handy. Do you have more info on this?

From this page:
http://turbocontrol.com/devoptions.htm

You might want to check out:
http://www.machinekit.io/
and
http://rtxi.org/

Regards,
Paul
www.ControlPascal.com

Reply by email

Paul Breneman
to Paul Breneman
Paul Breneman wrote 30 lines
On 06/04/2017 02:02 AM, Bo Berglund wrote: > On Tue, 30 May 2017 17:49:03 +0200, Giuliano Colla > wrote: > >> Il 29/05/2017 23:28, Bo Berglund ha scritto: >> >>> I have bought and initialized a new RPi3 today. It runs Raspbian >>> Jessie PIXEL latest version. >> I don't know what you're going to use your RPi3 for, but just in case, >> are you aware that now you can install an RT_PREEMPT kernel, and enjoy >> the real-time patch low latencies? >> > This new RPi3 is meant for experimenting with GIT usage (our version > system otherwise is CVS). > But I also have other systems where a real time system would be handy. > Do you have more info on this? > From this page: http://turbocontrol.com/devoptions.htm You might want to check out: http://www.machinekit.io/ and http://rtxi.org/ Regards, Paul www.ControlPascal.com _______________________________________________

You might want to try the BeagleBone Black as it might be better for real-time machine control (and boots up in a more standard way) than the Raspberry Pi? That is what was determined by a friend (of a friend) who helps with Machine Kit a lot.

Reply by email

Giuliano Colla
to Bo Berglund: On Tue, 30 May 2017 17:49:03 +0200, Giuliano Colla This new RPi3 is meant for…

Il 04/06/2017 08:02, Bo Berglund ha scritto:

But I also have other systems where a real time system would be handy. Do you have more info on this?

Yes. There was a bug in the way the FIQ was handled in a multicore ARM CPU (i.e. RPi2 and RPi3) , which was causing random freezes, not much frequent with vanilla kernels, but much more frequent with an RT_PREEMPT kernel.
Finally someone (Oussama Ghorbel) took care of this and provided a patch.

Now at the OSADL (Open Source Automation Development Lab) Realtime QA Farm a system is under test with an uptime of 173 days, which makes it promising.

You may download kernel and patches from their website: https://www.osadl.org/Profile-of-system-in-rack-7-slot-3.qa-profile-r7s3.0.html?shadow=1

I did it and it works just fine.

Another workaround for the problem can be disabling the Fast Interrupt Queue in the command line, playing with kernel parameters. You can find more details in:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=159170&p=1094375#p1094375

Then, if you're new to real time under Linux, you might find handy our Real Time Framework (YRMX), which provides a sort of high level interface, robust, efficient, easy to exploit and now also fpc compatible, to the pthread library. You'll find a description, both in a pdf paper and pdf slides at:
http://www.copeca.it/OSADL/

Feel free to ask if you have more questions, or if you're interested in YRMX. It's GPL'd but not yet published.

Giuliano

Reply by email