Forum > Linux
aarch64 installation of fpc fails with:- fpmake: No such file or directory
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