Forum > Other OS

FreePascal for FreeBSD aarch64


Hello people.
Can someone please point me on where to find the FPC build for aarch64-freebsd .
Or the manner to build it.

Thank you.

The aarch64-freebsd target is only available in main and you'll need to cross compile it from a different system. For this you need binutils for the target archiecture (if you compile from Linux then the Linux ones for aarch64 should be good enough). Then you execute the following:

--- Code: ---make all OS_TARGET=freebsd CPU_TARGET=aarch64 BINUTILSPREFIX=<prefix> FPMAKEOPT="-T <threads>" -j <threads>
make install OS_TARGET=freebsd CPU_TARGET=aarch64 BINUTILSPREFIX=<prefix> FPMAKEOPT="-T <threads>" INSTALL_PREFIX=/path/to/staging/directory
--- End code ---

Where <threads> is the number of threads for parallel compilation (usually the number of cores) and <prefix> is the prefix of the binutils (in my case aarch64-linux-gnu-).

You can then copy the content of /path/to/staging/directory to your FreeBSD and you need to add a fpc.cfg as well as add the bin and lib/fpc/3.3.1 directories of the content to PATH or symlink the ppca64 to the bin directory and put only the bin one in PATH.

Note: I tested that the process I mentions works without errors however I did not test whether it would work correctly on the target architecture, cause I don't have a Aarch64 FreeBSD available.

Thank you @PascalDragon
Also, I find this :
where you can find a prebuild fpc331 version for many OS's including FreeBSD-aarch64
I thing that it was built by Pierre Muller on of the maintainer of FPC

--- Code: Text  [+][-]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";}};} ---This snapshot fpc-3.3.1.aarch64-freebsd.built.on.x86_64-linux.tar.gz was generated 2022-01-06 11:23 on gcc123 using:make singlezipinstall OS_TARGET=freebsd CPU_TARGET=aarch64 SNAPSHOT=1  PP=ppcx64 CROSSOPT="-n -g -vx " OPT=""started using ppcx64ppca64 -iVDW output is: 3.3.1 2022/01/05 3.3.1-9856-g5944631246-dirty uname -a of the machine is:Linux 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64 GNU/Linux "svnversion -c ." output is: 1162:1757M "svnversion -c fpcsrc" output is: Unversioned symlink Enjoy, Pierre Muller  

Okay, I wasn't aware that we had a snapshot, but then you can use that as well.

Be aware however that it is not supported to build a newer version of 3.3.1 with an older version of 3.3.1 (it might work most of the time, but it's no guarantee and we absolutely don't care here). So this means that if you need a fix you either need to wait for the next snapshot or you need to build it yourself like I have explained. Only once 3.4.0 is released with support for aarch64-freebsd this situation changes, cause the last release can then be used to build the development version.


[0] Message Index

Go to full version