Forum > Free Pascal

Preparing FPC 3.2.4, point out road blocks now

<< < (6/9) > >>

Fred vS:
Hello Davo.

Yep, I think I get it.

Indeed, doing like you did, not in /usr/  but in directory /home/fred/fpc_test/ :

Testing 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";}};} ---/home/fred/fpc_test/bin/fpc -iV
--- Quote ---3.2.2
--- End quote ---

But if you test ppcx64


--- 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";}};} --- /home/fred/fpc_test/lib/fpc/3.2.3/ppcx64 -iV
--- Quote ---3.2.3
--- End quote ---

Indeed, very strange....

[EDIT] And I confirm that my /usr/bin/fpc also show 3.2.2 ( the compiler used to compile ppcx64 ), so yes, imho there is something not normal.

Fre;D

dbannon:
OK, so, what I see now - we are both building FPC 3.2.3 but we are using a different compiler to build it, there is a pattern -

Fred uses 3.2.2 to compile and gets a fpc that thinks its 3.2.2

Davo uses 3.2.0 to compile and gets a fpc that thinks its 3.2.0

So, Davo tries a clean vm, installs from the ubuntu repo 3.2.2 and uses that to build the 3.2.3 source, and, you guessed it, the result thinks its 3.2.2 !

So, the version that fpc reports does not depend on its own source code, it depends on the version of the compiler used to build it !  Maybe the build process is intended to use the newly build ppcx64 to build fpc but somehow ends up using the underlying 'old' one ?

And yep, testing ppcx64 does report 3.2.3 - thats positive at least.

Davo

dbannon:

--- Quote from: PascalDragon on October 27, 2021, 09:00:30 am ---...
No, you shouldn't be surprised and no, you're not testing what you think you're testing.

The fpc compiler driver binary picks up the real backend compiler binaries either if they're in the same directory (e.g. on Windows or if you install using our installation scripts provided with the binary releases) or if they're in PATH. If you simply do a make install neither will be true. So you need to temporary put lib/fpc/3.2.3/ (where ppcx64 resides) into your PATH (at the front) so that the correct binary is picked up.

--- End quote ---

Indeed, I worked out at least some of that just now.  I found that by putting the (3.2.3) ppcx64 in the same directory as the fpc executable (much as I do when setting up a cross compiler), I got the result I expected.  My initial test was a little artificial, not having my PATH pointing to the new fpc. Now I can confidently test properly, for that I will have to change my PATH.

Thanks PascalDragon, I feel a lot more comfortable now.

Davo

PascalDragon:

--- Quote from: dbannon on October 27, 2021, 09:43:26 am ---Thanks PascalDragon, I feel a lot more comfortable now.

--- End quote ---

Good. :)

By the way: can it be that someone removed the post of mine that dbannon quoted from? :o

avk:
Šccidentally discovered that FPC 3.2.2(and 3.3.1)-win64 lacks compiled units for the GMP package. Are there any reasons for this?

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version