Installing trunk or a very recent version lazarus / 1-Linux ---------------------------------------------------------------------- SymbolicFrank · 2023-03-07 14:38 I made some extensions that are in trunk, but not in the latest .deb I could find (for Ubuntu 22 x86_64). So: clone and build. Which I cannot get to work. Fpcupdeluxe to the rescue, but it crashes. My current problem: Code: [Select]frank@CarSys-WS-6021:~/projects/fpc/source$ make all Makefile:3221: *** The only supported starting compiler version is 3.2.2. You are trying to build with 3.3.1..  Stop. frank@CarSys-WS-6021:~/projects/fpc/source$ make all PP=/usr/bin/fpc Makefile:135: *** Compiler /usr/bin/fpc.exe not found.  Stop. Under Windows, it's PP. Yes, /usr/bin/fpc is the right one: Code: [Select]frank@CarSys-WS-6021:/usr/bin$ ./fpc Free Pascal Compiler version 3.2.2+dfsg-9ubuntu1 [2022/04/11] for x86_64 ---------------------------------------------------------------------- Blaazen · 2023-03-07 15:12 What output gives: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i fpc -iVOf course, you need 3.2.2 to compile 3.3.1 ---------------------------------------------------------------------- Thaddy · 2023-03-07 15:29 Did you add --Backports? ---------------------------------------------------------------------- SymbolicFrank · 2023-03-07 15:52 Quote from: Blaazen on March 07, 2023, 04:12:26 pmWhat output gives: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i fpc -iVOf course, you need 3.2.2 to compile 3.3.1 Code: [Select]frank@CarSys-WS-6021:~/projects/fpc/source$ fpc -iV 3.2.2 ---------------------------------------------------------------------- SymbolicFrank · 2023-03-07 15:53 Quote from: Thaddy on March 07, 2023, 04:29:09 pmDid you add --Backports? Code: [Select]frank@CarSys-WS-6021:~/projects/fpc/source$ make all --Backports make: unrecognized option '--Backports' ---------------------------------------------------------------------- BrunoK · 2023-03-07 15:58 Maybe try adding QuoteOVERRIDEVERSIONCHECK=1to the make command and look if the compiler build can fully cycle to a valid state. ---------------------------------------------------------------------- SymbolicFrank · 2023-03-07 16:01 Quote from: BrunoK on March 07, 2023, 04:58:32 pmMaybe try adding QuoteOVERRIDEVERSIONCHECK=1to the make command and look if the compiler build can fully cycle to a valid state. Code: [Select]Error: Incompatible type for arg no. 2: Got "AnsiString", expected "PChar" classes.pp(91) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted I made the first post a bit more clear. I did read the wiki, but that assumes it simply works. ---------------------------------------------------------------------- BrunoK · 2023-03-07 16:27 My WINDOWS make command for FPC makecycle is : Quote%make%  clean all install %FPMAKEOPT% OS_TARGET=%TargetOs% CPU_TARGET=%TargetCpu% INSTALL_PREFIX=%FPC_INST_DIR% PP=%FPC_EXE%  OPT="-O1 -OoREGVAR" DATA2INC=%myFPC%\utils\data2inc.exe OVERRIDEVERSIONCHECK=1 between %xxxx% are preset environment values. I haven't worked with linux for a long time but if I remember well, the batch file was very similar. ---------------------------------------------------------------------- TRon · 2023-03-07 17:41 Quote from: SymbolicFrank on March 07, 2023, 03:38:58 pmMy current problem: Code: [Select]frank@CarSys-WS-6021:~/projects/fpc/source$ make all Makefile:3221: *** The only supported starting compiler version is 3.2.2. You are trying to build with 3.3.1..  Stop. frank@CarSys-WS-6021:~/projects/fpc/source$ make all PP=/usr/bin/fpc Makefile:135: *** Compiler /usr/bin/fpc.exe not found.  Stop. Under Windows, it's PP. Yes, /usr/bin/fpc is the right one: The error indicates that somehow on your system it finds another installed version of Free Pascal and uses that to build the sources form trunk. That is if you are sure that the one in /usr/bin/fpc is the right version (3.2.2) Add the make option PP=/path/and/name/to/ppc or fpc (I would opt for using the ppc executable as you seem to have multiple installations lingering on your system and using the fpc executable might be able to locate the wrong ppc compiler). edit: using the version check override is not recommended unless knowing what you are doing. ---------------------------------------------------------------------- Fred vS · 2023-03-07 18:00 Hello. Here are the steps I use and never got problems: 1) Download fpc trunk/main from there: https://gitlab.com/freepascal.org/fpc/source/-/archive/main/source- main.zip 2) Unzip it somewhere, for example /home/You/Downloads/freepascal- main/. 3) Make this .sh script and save it in same directory as unzipped freepascal-main : Code: Bash  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i #!/bin/sh  COMPILER=/path/of/fpc322/fpc       // with your path of fpc 3.2.2 make cleanmake all FPC=$COMPILER OPT="-Fl/usr/local/lib" make FPC=$COMPILER install INSTALL_PREFIX=/usr/ [EDIT] You may remove the last line and choose the install directory you want after compilation is OK.             In that case the script dont need sudo right. 4) In terminal go in unzipped freepascal-main directory and run the script with sudo right. ---------------------------------------------------------------------- TRon · 2023-03-07 18:12 Quote from: Fred vS on March 07, 2023, 07:00:32 pmHere are the steps I use and never got problems: relying on FPC executable seem to be the exact issue that TS is encountering. so TS needs to use PP instead. Quote4) In terminal go in unzipped freepascal-main directory and run the script with sudo right. Just a personal opinion but requiring sudo rights (for such a moving target) is /so/ wrong. ---------------------------------------------------------------------- Fred vS · 2023-03-07 18:18 Quote from: TRon on March 07, 2023, 07:12:53 pmJust a personal opinion but requiring sudo rights (for such a moving target) is /so/ wrong. You need sudo right to install fpc in /usr/ Code: Bash  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i make FPC=$COMPILER install INSTALL_PREFIX=/usr/ ---------------------------------------------------------------------- TRon · 2023-03-07 18:23 Quote from: Fred vS on March 07, 2023, 07:18:50 pmYou need sudo right to install fpc in /usr/ Yes, I understand that  The direct question that would logically follow to that answer is: why on earth would you install (trunk in this particular case but I never do) Free Pascal into /usr ? There isn't a single good reason for it in my book. ---------------------------------------------------------------------- Fred vS · 2023-03-07 18:32 Quote from: TRon on March 07, 2023, 07:23:36 pmThe direct question that would logically follow to that answer is: why on earth would you install (trunk in this particular case but I never do) Free Pascal into /usr ? There isn't a single good reason for it in my book. Maybe in your book. In https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard, /usr is the common directory to install programs and their libraries, for read-only user data. But yes, maybe for trunk it is not the best choice (but I do). ---------------------------------------------------------------------- TRon · 2023-03-07 19:02 Quote from: Fred vS on March 07, 2023, 07:32:27 pmMaybe in your book. In https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard, /usr is the common directory to install programs and libraries, for read- only user data. Same book, other operating system and what about Lazarus ? Do you install that there too ? It is inconsistent to say the least not to mention that on Linux you do not always have the luxury to have write access to /usr QuoteBut yes, maybe for trunk it is not the best choice. Since things are inconsistent amongst platforms and programs you have to be a bit more inventive and not let yourself be boxed in with some imaginary rules that seems to exist with the purpose of pestering developers/people. It is a bad idea to use /usr for moving targets such as trunk. As a consequence and (for me) to be consistent all my FPC and Lazarus installations are completely stand-alone and do not rely on anything other then 2 environment variables and a script. No paths, system directories, OS deemed correct location(s) or otherwise is required. The FPC developers did such a good job of getting rid of all such dependencies that it is almost unbearable to see people struggle with installing in program files, requiring sudo rights to be able to install their fresh compiler and/or run Lazarus etc. The only thing I used to recommend is for users that are new to FPC / Lazarus is to use their package manager to install but, some distributions made such a mess of things that I can't even recommend that anymore (and people requiring multiple installations should really stay away from using a package manager unless they can bent it to their will). Completely off-topic of course, therefor apologies to topic starter. There is no intention to derail the thread. ---------------------------------------------------------------------- Fred vS · 2023-03-07 19:11 Quote from: TRon on March 07, 2023, 08:02:38 pmSame book, other operating system and what about Lazarus ? Do you install that there too ? Imho, if the topic starter choose Forum/Installation/Linux, it is maybe about Linux and not Windows. About Lazarus, I apologize, my posts are about fpc, I do only use Lazarus stable. Quote from: TRon on March 07, 2023, 08:02:38 pmCompletely off-topic of course, therefor apologies to topic starter. There is no intention to derail the thread. Me too, sorry. ---------------------------------------------------------------------- TRon · 2023-03-07 19:37 Quote from: Fred vS on March 07, 2023, 08:11:50 pmImho, if the topic starter choose Forum/Installation/Linux, it is maybe about Linux and not Windows. To get back on topic, I just finished building Free Pascal 3.3.1 from Gitlab sources using the ppcx64 v3.2.2 compiler on a Linux x86_64 bit Debian (bookworm) based system. Same should be possible to replicate on Windows. ---------------------------------------------------------------------- Fred vS · 2023-03-07 19:46 Quote from: TRon on March 07, 2023, 08:37:20 pmSame should be possible to replicate on Windows. Here is the .bat file I use (but yes, using the fpc way, installed in "C:\FPC\x.x.x") : Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i make all FPC=C:\FPC\3.2.2\bin\i386-win32\ppc386.exe TARGET=i386-win32 make FPC=C:\FPC\3.2.2\bin\i386-win32\ppc386.exe install INSTALL_PREFIX=C:\FPC\3.3.1 But maybe I did not get replicate on Windows, did you get the same error as OP installing on Debian ? ---------------------------------------------------------------------- TRon · 2023-03-07 20:07 Quote from: Fred vS on March 07, 2023, 08:46:30 pmBut maybe I did not get replicate on Windows, did you get the same error as OP installing on Debian ? No, I did not get the same error as OP. I was successful in building FPC trunk on Debian. In doing so I am unable to replicate OP's error. My script also automatically compiles the infamous "hello world" example: Code: [Select]Free Pascal Compiler version 3.3.1 [2023/03/07] for x86_64 Copyright (c) 1993-2023 by Florian Klaempfl and others Target OS: Linux for x86-64 Compiling hello_world.pas Linking hello_world.x86_64-linux 1 lines compiled, 0.0 sec, 141568 bytes code, 55936 bytes data If I would translate your make command then it would probably look like: Code: [Select]make clean all install PP="/path/and/filename/to/v3.2.2/version/of/ppcx64" INSTALL_PREFIX="/path/to/where/to/install" The clean is important, in order to make sure no remnants are left from an earlier compilation (but you can also achieve that by issuing the make command in a freshly created/cloned repository). ---------------------------------------------------------------------- SymbolicFrank · 2023-03-08 08:41 Quote from: Fred vS on March 07, 2023, 07:00:32 pmHello. 3) Make this .sh script and save it in same directory as unzipped freepascal-main : Code: Bash  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i #!/bin/sh  COMPILER=/path/of/fpc322/fpc       // with your path of fpc 3.2.2 make cleanmake all FPC=$COMPILER OPT="-Fl/usr/local/lib" make FPC=$COMPILER install INSTALL_PREFIX=/usr/ If you specify a compiler, the makefile adds ".exe" to the end: Code: Text  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i frank@CarSys-WS-6021:~/projects/fpc/source$ make all FPC=/usr/bin/fpcMakefile:135: *** Compiler /usr/bin/fpc.exe not found.  Stop.frank@CarSys-WS-6021:~/projects/fpc/source$ make all FPC=/usr/binMakefile:135: *** Compiler /usr/bin.exe not found.  Stop.frank@CarSys-WS-6021:~/projects/fpc/source$ make all FPC=/usr/bin/fpc.Makefile:135: *** Compiler /usr/bin/fpc..exe not found.  Stop.Yes, I do run this in Linux (Ubuntu 22). All the other suggestions are things I already posted not working. ---------------------------------------------------------------------- Fred vS · 2023-03-08 08:49 Quote from: SymbolicFrank on March 08, 2023, 09:41:59 amQuote from: Fred vS on March 07, 2023, 07:00:32 pmHello. 3) Make this .sh script and save it in same directory as unzipped freepascal-main : Code: Bash  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i #!/bin/sh  COMPILER=/path/of/fpc322/fpc       // with your path of fpc 3.2.2 make cleanmake all FPC=$COMPILER OPT="-Fl/usr/local/lib" make FPC=$COMPILER install INSTALL_PREFIX=/usr/ If you specify a compiler, the makefile adds ".exe" to the end: Using the script too? Very strange, I cannot reproduce it. ---------------------------------------------------------------------- TRon · 2023-03-08 20:09 As I wrote: use PP. There is something very strange with OP's setup and you should avoid any ambiguity. Using the FPC executable instead of using the ppc compiler is able to mess with things (as OP has proven). Never does a FPC build add ".exe" in order to find an executable on Linux (unless somehow the makefiles are screwed up or some other configuration is influencing things). But all the talk/postings is rather useless. @ symbolic frank: Show us how exactly you build things, including cloning of the github gitlab sources and downloading (or installing) the bootstrap compiler. It will be a guessing game otherwise. Oh, and show us the output of the build. ---------------------------------------------------------------------- SymbolicFrank · 2023-03-08 20:21 Quote from: TRon on March 08, 2023, 09:09:28 pmAs I wrote: use PP. Thanks for the suggestion, but did you actually read the first post? QuoteThere is something very strange with OP's setup and you should avoid any ambiguity. Using the FPC executable instead of using the ppc compiler is able to mess with things (as OP has proven). Never does a FPC build add ".exe" in order to find an executable on Linux (unless somehow the makefiles are screwed up or some other configuration is influencing things). But all the talk/postings is rather useless. @ symbolic frank: Show us how exactly you build things, including cloning of the github sources and downloading (or installing) the bootstrap compiler. It will be a guessing game otherwise. Oh, and show us the output of the build. The next time I remove WSL2 / Ubuntu 22 / Docker Desktop and all the development environments I spend a week getting installed and start all over again, I will do that. ---------------------------------------------------------------------- TRon · 2023-03-08 20:27 Quote from: SymbolicFrank on March 08, 2023, 09:21:51 pmThanks for the suggestion, but did you actually read the first post? Yes i did and it does not tell us anything that is relevant. QuoteThe next time I remove WSL2 / Ubuntu 22 / Docker Desktop and all the development environments I spend a week getting installed and start all over again, I will do that. There we go. It is not a ordinary Linux setup. Thus many influences that can mess things up but you neglected to inform about. Still no answer on how you build things or a build log so again the posts you make are pointless wrt to try and help you further. Trying the FPC Deluxe route is not going to help you out either as DON Alfredo also has no clue about your setup (and for sure will not be able to fix that for you). PS: did /you/ actually understood the output of your first post ? Quote from: SymbolicFrank on March 07, 2023, 03:38:58 pmCode: [Select]frank@CarSys-WS-6021:~/projects/fpc/source$ make all Makefile:3221: *** The only supported starting compiler version is 3.2.2. You are trying to build with 3.3.1..  Stop. frank@CarSys-WS-6021:~/projects/fpc/source$ make all PP=/usr/bin/fpc Makefile:135: *** Compiler /usr/bin/fpc.exe not found.  Stop. What executable did you actually use for PP ? Again, use the ppcx64 executable instead. Just as your now revealed setup probably requires to be explicit for what platform you need to build. ---------------------------------------------------------------------- MarkMLl · 2023-03-08 20:53 I don't know whether this is directly relevant but: Quote from: SymbolicFrank on March 07, 2023, 03:38:58 pmCode: [Select]frank@CarSys-WS-6021:~/projects/fpc/source$ make all Makefile:3221: *** The only supported starting compiler version is 3.2.2. You are trying to build with 3.3.1..  Stop. frank@CarSys-WS-6021:~/projects/fpc/source$ make all PP=/usr/bin/fpc Makefile:135: *** Compiler /usr/bin/fpc.exe not found.  Stop. Depending on the version you're building, that message can be misleading. Looking at the makefile: Code: Text  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i ifneq ($(FPC_VERSION),$(REQUIREDVERSION))  ifneq ($(FPC_VERSION),$(REQUIREDVERSION2))    ifndef OVERRIDEVERSIONCHECK      $(error The only supported starting compiler version is $(REQUIREDVERSION). You are trying to build with $(FPC_VERSION).)    else        @$(ECHO) You have overriden the starting compiler versioncheck while using starting compiler version $(FPC_VERSION). This situation is not supported and strange things and errors may happen. Remove OVERRIDEVERSIONCHECK=1 to fix this.    endif  endifendif  So even if you're running $REQUIREDVERSION2, the message still refers to $REQUIREDVERSION. I tried to raise this a few weeks ago, but was basically told to go and play somewhere else. Which is why I'm now a relatively infrequent visitor to the forum. MarkMLl ---------------------------------------------------------------------- PascalDragon · 2023-03-08 21:52 Quote from: SymbolicFrank on March 08, 2023, 09:21:51 pmThe next time I remove WSL2 / Ubuntu 22 / Docker Desktop and all the development environments I spend a week getting installed and start all over again, I will do that. For WSL special rules apply, you can't handle it just like an ordinary Linux. You need to adjust PATH so that it doesn't pick up Windows binaries. E.g. on my system the PATH by default looks like this: Code: [Select][sven@Tayet ~]$ echo $PATH ~/fpc/3.2.2/bin:~/fpc/3.2.2/lib/fpc/3.2.2:/usr/local/sbin:/usr/local/b in:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/la zarus/2.2/fpc/3.2.2/bin/x86_64-win64:/mnt/c/Program Files (x86)/Embarc adero/Studio/19.0/bin:/mnt/c/Users/Public/Documents/Embarcadero/Studio /19.0/Bpl:/mnt/c/Program Files (x86)/Embarcadero/Studio/19.0/bin64:/mn t/c/Users/Public/Documents/Embarcadero/Studio/19.0/Bpl/Win64:/mnt/c/Pr ogram Files (x86)/Intel/iCLS Client/:/mnt/c/Program Files/Intel/iCLS C lient/:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/ Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/IPT:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/IPT:/mnt/c/Program Files/Intel/WiFi/bin/:/mnt/c/Program Files/Common Files/Intel/WirelessCommon/:/mnt/c/Program Files/TortoiseSVN/bin:/mnt/c/Program Files/TortoiseGit/bin:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files/dotnet/:/mnt/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program F iles/nodejs/:/mnt/c/FPC/3.2.2/bin/i386- Win32:/mnt/c/Users/Sven/AppData/Local/Programs/Python/Python37/Scripts /:/mnt/c/Users/Sven/AppData/Local/Programs/Python/Python37/:/mnt/c/Use rs/Sven/AppData/Local/Microsoft/WindowsApps:/mnt/c/Program Files/SDCC/bin:/mnt/c/Program Files/LLVM/bin:/mnt/c/Users/Sven/AppData /Roaming/npm:/mnt/c/Users/Sven/.dotnet/tools:/mnt/c/texlive/2022/bin/w in32:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl Especially the /mnt/c/lazarus/2.2/fpc/3.2.2/bin/x86_64-win64 part will lead to make.exe being picked up instead of Linux' make, thus I change the path to the following before executing make in WSL: Code: [Select]export PATH=~/fpc/3.2.2/bin:~/fpc/3.2.2/lib/fpc/3.2.2:/u sr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games: /usr/local/games You should adjust that to your own PATH of course. ---------------------------------------------------------------------- TRon · 2023-03-08 22:52 Quote from: PascalDragon on March 08, 2023, 10:52:17 pmFor WSL special rules apply, you can't handle it just like an ordinary Linux. You need to adjust PATH so that it doesn't pick up Windows binaries. E.g. on my system the PATH by default looks like this: OK, thank you for that answer as that explains a few things. Do you happen to know if it could be avoided to have to alter the path ? E.g. I was expecting that invoking the correct make executable (Linux version) would be enough for the makefile to pick up on the fact that the host is Linux (and not Windows). Unfortunately I do not have Windows and/or WSL to be able to verify myself. ---------------------------------------------------------------------- SymbolicFrank · 2023-03-09 08:03 Quote from: PascalDragon on March 08, 2023, 10:52:17 pmFor WSL special rules apply, you can't handle it just like an ordinary Linux. You need to adjust PATH so that it doesn't pick up Windows binaries. Ah, that makes sense  (Well, it doesn't, but that explains it ) ---------------------------------------------------------------------- BrunoK · 2023-03-09 10:40 Windows 10, FPC trunk cloned today. Building i386 and x86_64 using 3.2.2 compiler, as expected -> NO PROBLEM Rebuilding i386 and x86_64 using 3.3.1 compiler Without OVERRIDEVERSIONCHECK=1 at the end of the make clean all install ...,  as per initial post -> QuoteMakefile:3221: *** The only supported starting compiler version is 3.2.2. You are trying to build with 3.3.1..  Stop. WITH OVERRIDEVERSIONCHECK=1. In the message flow outputs warning -> QuoteYou have overriden the starting compiler versioncheck while using starting compiler version 3.3.1. This situation is not supported and strange things and errors may happen. Remove OVERRIDEVERSIONCHECK=1 to fix this. Since at least FPC > 2.6.x, it has never caused trouble to rebuild the compiler, rtl, packages etc ... using a start compiler that is the same version as the new compiler, in the build cycle, the 3rd pass compiler actually compiles itself with itself. Please correct me if I'm wrong. I think the problem is that the starting compiler is not the one expected and that is probably caused by overuse of symlink in linux (This being my excessive, partial and personal point of view of course ;-) ) ---------------------------------------------------------------------- Thaddy · 2023-03-09 11:12 A brief summary: - do not use trunk, apart from testing - do use the latest available stable release. This has always been the case. Do not digress. No "yes, but.. " No "if, but.." There are far too many people trying to use trunk that have not the faintest clue what a trunk versions means and that is frankly bloody irritating. ---------------------------------------------------------------------- SymbolicFrank · 2023-03-09 12:42 Quote from: Thaddy on March 09, 2023, 12:12:17 pmA brief summary: - do not use trunk, apart from testing - do use the latest available stable release. So, in other words: do not contribute patches / extensions, because it takes at least a year before you can use them. ---------------------------------------------------------------------- rvk · 2023-03-09 14:29 Quote from: SymbolicFrank on March 09, 2023, 01:42:07 pmSo, in other words: do not contribute patches / extensions, because it takes at least a year before you can use them. You can contribute and ask if they put the fix in "fixes". They are available much sooner. You can use trunk for production but need to be prepared for everything. Even a version that can't compile after pulling in the latest trunk. If you are not, then yes, don't use trunk. BTW. If you contribute a fix, you can use that fix yourself of course. No need to wait for a new release. For other fixes, you are dependent on the fixes releases. ---------------------------------------------------------------------- TRon · 2023-03-09 21:53 Quote from: TRon on March 08, 2023, 11:52:19 pmQuote from: PascalDragon on March 08, 2023, 10:52:17 pmFor WSL special rules apply, you can't handle it just like an ordinary Linux. You need to adjust PATH so that it doesn't pick up Windows binaries. E.g. on my system the PATH by default looks like this: OK, thank you for that answer as that explains a few things. Do you happen to know if it could be avoided to have to alter the path ? E.g. I was expecting that invoking the correct make executable (Linux version) would be enough for the makefile to pick up on the fact that the host is Linux (and not Windows). Unfortunately I do not have Windows and/or WSL to be able to verify myself. I might have found a solution that does not require tampering with the path variable. The solution mentioned here seems to get rid of WSL and its mz interpretation/delegation/execution. The cure might be worse than the disease though. ---------------------------------------------------------------------- PascalDragon · 2023-03-09 21:59 Quote from: BrunoK on March 09, 2023, 11:40:42 amSince at least FPC > 2.6.x, it has never caused trouble to rebuild the compiler, rtl, packages etc ... using a start compiler that is the same version as the new compiler, in the build cycle, the 3rd pass compiler actually compiles itself with itself. Please correct me if I'm wrong. The exact same revision/commit is never a problem. However we do not support compiling revision X of 3.3.1 with a different revision Y of 3.3.1, because there can be changes in the RTL that the compiler from version Y can not cope with (and that's not a theory, that are things that did happen already). Because 3.3.1 is a moving target it's easier to say that the only supported version is the last stable release.