Forum > Linux

What is the difference between fpc and ppcx64 ?

(1/2) > >>

lazer:
Hi,

I just did a build of fresh pull of FPC main  using my distro's fpc.


--- 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";}};} ---export FPCVER="3.3.1"make allmake install INSTALL_PREFIX=/usr ls -ail /usr/lib/fpc/3.3.1total 46681462708 drwxr-xr-x. 5 root root    4096 Oct 20 15:08 .1442640 drwxr-xr-x. 6 root root    4096 Oct 20 15:08 ..1732256 drwxr-xr-x. 3 root root    4096 Oct 20 15:08 fpmkinst1462711 drwxr-xr-x. 2 root root    4096 Oct 20 15:08 msg1462709 -rwxr-xr-x. 1 root root 4747696 Oct 20 15:08 ppcx641462710 -rwxr-xr-x. 1 root root    3446 Oct 20 15:08 samplecfg1462760 drwxr-xr-x. 3 root root    4096 Oct 20 15:08 units ls -ail `which fpc` `which ppcx64`1451555 -rwxr-xr-x. 1 root root 547472 Oct 20 15:08 /bin/fpc1456515 lrwxrwxrwx. 1 root root     25 Sep 21  2021 /bin/ppcx64 -> ../lib64/fpc/3.2.2/ppcx64  
We see this installed as requested in /usr/lib  but also created /bin/fpc which is an executable, not a link and has a different size.

What is the difference between fpc and ppcx64 and why does install two different compilers?

TIA

marcov:
fpc is a frontend binary that calls architecture dependent backends. The x86_64 backend is called ppcx64, the 32-bit x86 ppc386 etc.

The lib vs lib64 is a afaik distribution dependent thing. Some always reserve "lib" for the "main architecture" and name the secondary one lib32 or lib64, some always have lib (for 32-bit) and lib64 for 64-bit.  Moreover as 32-bit is phased out distributions might change scheme, since nothing in the Linux world is really nailed down.

To work around, you can tell  "make install" what to use as prefix by passing INSTALL_PREFIX= e.g.


--- 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";}};} --- make install INSTALL_PREFIX=/usr/lib64

lazer:
Thanks but won't that end up in /usr/lib64/lib/  ? That's the prefix, not the install dir.

Thanks for the explanation. Why is this "front-end" bigger than the actual compiler ? :?

marcov:

--- Quote from: lazer on October 20, 2022, 03:41:45 pm ---Thanks but won't that end up in /usr/lib64/lib/  ? That's the prefix, not the install dir.

--- End quote ---

Correct.   It should be INSTALL_LIBDIR it seems.


--- Quote ---Thanks for the explanation. Why is this "front-end" bigger than the actual compiler ? :?

--- End quote ---

ppcx64 is 4.7 MB, fpc is 0.547 so nearly ten times smaller. Did you miss a digit ?

lazer:
OK we'll call that a draw on the silly mistakes !  :D

Thanks for the explanations.

Navigation

[0] Message Index

[#] Next page

Go to full version