Forum > Linux

aarch64 installation of fpc fails with:- fpmake: No such file or directory

(1/2) > >>

dswood:
Hi All
I am trying to install free pascal onto a linux based aarch computer (RPi4).  I have installed the binary of fpc from fpc.3.2.2.aarch64-linux.tar using the provided install.sh.  I chose to install into /usr/local so I could remove it easily afterwards. 
Next I extracted the fpcbuild-3.2.2.tar.gz.  I ran make clean.  Then make all.

After some time the build fails with:-

--- Quote ---make[4]: Entering directory '/tmp/fpc/fpcbuild/fpcsrc/packages/fpmkunit'
/usr/bin/rm -rf units_bs
make[4]: Leaving directory '/tmp/fpc/fpcbuild/fpcsrc/packages/fpmkunit'
./fpmake clean --localunitdir=. --os=linux --cpu=aarch64 -o -Ur -o -Xs -o -O2 -o -n -o -daarch64 -o -dRELEASE --compiler=/tmp/fpc/fpcbuild/fpcsrc/compile
r/ppca64 -bu
make[3]: ./fpmake: No such file or directory
make[3]: *** [Makefile:1732: clean] Error 127
make[3]: Leaving directory '/tmp/fpc/fpcbuild/fpcsrc/packages'
make[2]: *** [Makefile:2708: packages_clean] Error 2
make[2]: Leaving directory '/tmp/fpc/fpcbuild/fpcsrc'
make[1]: *** [Makefile:2834: build-stamp.aarch64-linux] Error 2
make[1]: Leaving directory '/tmp/fpc/fpcbuild/fpcsrc'
make: *** [Makefile:2569: fpcsrc/build-stamp.aarch64-linux] Error 2

--- End quote ---
I have tried version 3.2.0 which failed in a different way. I have tried the snapshot which is just the same.

I would appreciate some help.  Thanks.

Duncan.

Fred vS:
Hello.

If you want to install binaries of unzipped fpc.3.2.2.aarch64-linux.tar, just do in terminal:
(Nothing more is needed to install the compiler).


--- Code: Bash  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---$ cd /directory/of/fpcbinary/$ bash install.sh
If, for some reason, you want to recompile fpc source using the unzipped fpcbuild-3.2.2.tar.gz. file, do this:


--- Code: Bash  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---$ cd /directory/of/fpcsource/$ make clean$ make all OPT="-Fl/usr/local/lib" $ make install INSTALL_PREFIX=/usr/

dswood:
Thanks for your clear guidance.  However I am no further on. 

--- Code: Bash  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---make all OPT="-Fl/usr/local/lib"This still fails in the exact same way.  It got me thinking. I added /usr/local/lib to my ld.so.conf.  That changes nothing.  I copied the library files to /usr/local/lib/lib64,  probably the most correct place on this system. 

You say I should be able to use the binary compiler but that does not seem to have installed correctly.  I can't compile lazarus with the binary fpc because it can't find unit db.  I bet it can't find any of the units. 

Do I need a config file in /etc for fpc to work?

Fred vS:

--- Quote from: dswood on December 02, 2021, 01:08:20 pm ---Thanks for your clear guidance.  However I am no further on. 

--- Code: Bash  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---make all OPT="-Fl/usr/local/lib"This still fails in the exact same way.  It got me thinking. I added /usr/local/lib to my ld.so.conf.  That changes nothing.  I copied the library files to /usr/local/lib/lib64,  probably the most correct place on this system. 

You say I should be able to use the binary compiler but that does not seem to have installed correctly.  I can't compile lazarus with the binary fpc because it can't find unit db.  I bet it can't find any of the units. 

Do I need a config file in /etc for fpc to work?

--- End quote ---

Hello.

I dont understand why you need to re-compile all fpc source.
Here, on my Rpi, installation of fpc ARM aarch64 is out-of-the-box,.

fpc was installed via the install.sh script, with /usr/lib/ as target, nothing more.

I dont use Lazarus on Rpi, only fpc + MSEgui so I did not try to compile Lazarus apps but it should work too.
If it does not work, maybe you should ask it to LCL/Lazarus forum section.

Fre;D

Fred vS:

--- Quote from: dswood on December 02, 2021, 01:08:20 pm ---Do I need a config file in /etc for fpc to work?

--- End quote ---

If you have installed fpc in /usr/lib or /usr/local/lib, afaik, yes, fpc.cfg is needed in /etc/.

Otherwise, if fpc was installed in a home directory, fpc.cfg is in /home/you/.fpc.cfg (note the dot a begin, to set it as hidden).

But all this is done by the install.sh script.
[EDIT] Note that the script must be run with root right if you want to install it in /usr/...


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---$ sudo install.sh

Navigation

[0] Message Index

[#] Next page

Go to full version