Error building FPC 3.0.2 from svn sources on RPi3

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

Error building FPC 3.0.2 from svn sources on RPi3

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

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

Re: Error building FPC 3.0.2 from svn sources on RPi3

leledumbo
Administrator
> 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
...
Reply | Threaded
Open this post in threaded view
|

Re: Error building FPC 3.0.2 from svn sources on RPi3

Tomas Hajny-2
In reply to this post by Bo Berglund
On Mon, May 29, 2017 23:28, Bo Berglund wrote:

> 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.



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

Re: Error building FPC 3.0.2 from svn sources on RPi3

Bo Berglund
In reply to this post by Bo Berglund
On Mon, 29 May 2017 23:28:47 +0200, Bo Berglund
<[hidden email]> 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

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

Re: Error building FPC 3.0.2 from svn sources on RPi3

Giuliano Colla
In reply to this post by Bo Berglund
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?

Giuliano

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

Re: Error building FPC 3.0.2 from svn sources on RPi3

Bo Berglund
On Tue, 30 May 2017 17:49:03 +0200, Giuliano Colla
<[hidden email]> 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?


--
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: Error building FPC 3.0.2 from svn sources on RPi3

Paul Breneman
On 06/04/2017 02:02 AM, Bo Berglund wrote:

> On Tue, 30 May 2017 17:49:03 +0200, Giuliano Colla
> <[hidden email]> 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
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Error building FPC 3.0.2 from svn sources on RPi3

Paul Breneman
On 06/04/2017 07:10 AM, Paul Breneman wrote:

> On 06/04/2017 02:02 AM, Bo Berglund wrote:
>> On Tue, 30 May 2017 17:49:03 +0200, Giuliano Colla
>> <[hidden email]> 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.

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

Re: Error building FPC 3.0.2 from svn sources on RPi3

Giuliano Colla
In reply to this post by Bo Berglund
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





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