Recent

Author Topic: FPC 3.2.0rc1 released!  (Read 39396 times)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: FPC 3.2.0rc1 released!
« Reply #15 on: March 30, 2020, 10:51:02 am »
Question: What is the relationship between this release and the fixes branch if I updated that, say, this morning Eastern Time?

The fixes branch has a few handfuls of extra revisions. The rc1 branch is from 23feb.

zeljko

  • Hero Member
  • *****
  • Posts: 1594
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: FPC 3.2.0rc1 released!
« Reply #16 on: March 30, 2020, 11:32:15 am »
Should we expect Lazarus 2.2.0 to be released shortly after FPC 3.2.0?

IMO no, first we must branch 2.2_fixes and I hope that it'll happen in 2-8 weeks after 3.2.0 release, after that RC candidates and then release, so with most optimistic scenario
major stable version could be released 6 months after 3.2.0 is released.

Bi0T1N

  • Jr. Member
  • **
  • Posts: 85
Re: FPC 3.2.0rc1 released!
« Reply #17 on: March 30, 2020, 11:46:42 am »
Nice that there will be an official new version soon! :)

Changes that may break backwards compatibility will be documented at:
http://wiki.freepascal.org/User_Changes_3.2.0

There is no content on that site. Maybe it should be https://wiki.freepascal.org/User_Changes_3.2?

There is no x86_64-macos version - this rules out any Mac user with the current 64 bit only macOS 10.15.x Catalina operating system.

The i386-macosx release is a "fat" release. It contains both i386 and x86_64 compilers. See the Getting Started (Intel).rtf file inside the package.
Maybe add an x86_64-macosx folder which redirects to i386-macosx ;)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: FPC 3.2.0rc1 released!
« Reply #18 on: March 30, 2020, 12:00:33 pm »

There is no content on that site. Maybe it should be https://wiki.freepascal.org/User_Changes_3.2?

I changed the first post, thanks.

As for the x86_64, for final releases there are webpages to explain them.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: FPC 3.2.0rc1 released!
« Reply #19 on: March 30, 2020, 12:02:42 pm »
IMO no, first we must branch 2.2_fixes and I hope that it'll happen in 2-8 weeks after 3.2.0 release, after that RC candidates and then release, so with most optimistic scenario
major stable version could be released 6 months after 3.2.0 is released.
Well, the Lazarus 2.2 fixes could be branched even before FPC 3.2.0 release if we decided so. I am afraid 3.2.0 release is still far away.
On the other hand, there is no need to hurry now. Instead we should improve Lazarus trunk as much as possible before branching, thus preventing the extra effort of merging commits from trunk to fixes branch.
Also new features added now in trunk would make it to Lazarus 2.2, justifying and adding substance to a new major version number.
I believe many people now must restrict their activities and stay home more than usually. The time at home can be used for bug fixing. I personally study and fix Code Explorer now.
Patches are welcome! :)
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

argb32

  • Jr. Member
  • **
  • Posts: 89
    • Pascal IDE based on IntelliJ platform
Re: FPC 3.2.0rc1 released!
« Reply #20 on: March 30, 2020, 12:06:12 pm »
Great news!
But I downloaded the file:
ftp://ftp.freepascal.org/pub/fpc/beta/3.2.0-rc1/x86_64-linux/fpc-3.2.0rc1.x86_64-linux.tar
and when I run "bin/fpc" extracted from nested archive "base.x86_64-linux.tar.gz" it says:
[0.004] Free Pascal Compiler version 3.0.4 [2018/10/29] for x86_64
Not 3.2.0.
Is it intended?

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: FPC 3.2.0rc1 released!
« Reply #21 on: March 30, 2020, 12:26:29 pm »
Great news!
But I downloaded the file:
ftp://ftp.freepascal.org/pub/fpc/beta/3.2.0-rc1/x86_64-linux/fpc-3.2.0rc1.x86_64-linux.tar
and when I run "bin/fpc" extracted from nested archive "base.x86_64-linux.tar.gz" it says:
[0.004] Free Pascal Compiler version 3.0.4 [2018/10/29] for x86_64
Not 3.2.0.
Is it intended?

Yes. fpc searches for the real compiler in your path. Probably you have 3.0.4 installed, and that binary is in the path, and the just extracted 3.2.0 not.

PascalDragon

  • Hero Member
  • *****
  • Posts: 5446
  • Compiler Developer
Re: FPC 3.2.0rc1 released!
« Reply #22 on: March 30, 2020, 05:34:13 pm »
IMO no, first we must branch 2.2_fixes and I hope that it'll happen in 2-8 weeks after 3.2.0 release, after that RC candidates and then release, so with most optimistic scenario
major stable version could be released 6 months after 3.2.0 is released.
Well, the Lazarus 2.2 fixes could be branched even before FPC 3.2.0 release if we decided so. I am afraid 3.2.0 release is still far away.
On the other hand, there is no need to hurry now. Instead we should improve Lazarus trunk as much as possible before branching, thus preventing the extra effort of merging commits from trunk to fixes branch.
Also new features added now in trunk would make it to Lazarus 2.2, justifying and adding substance to a new major version number.
I believe many people now must restrict their activities and stay home more than usually. The time at home can be used for bug fixing. I personally study and fix Code Explorer now.
Patches are welcome! :)

In that case and as you were the one who commited my PackageRequirements patch: would you maybe take a look at this mail of mine from November where I request some feedback about me implementing selection editors, please? :) The patches won't apply cleanly anymore, but that's not the point right now. The question is in what direction I should go, especially regarding the TPropertyEditor (Note: I'd prefer to discuss this on the mailing list).

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: FPC 3.2.0rc1 released!
« Reply #23 on: March 30, 2020, 06:19:19 pm »
would you maybe take a look at this mail of mine from November where I request some feedback about me implementing selection editors, please? :)
OK. I remember the mail but then I didn't quite understand what the selection editors were about.
I will study and try to understand it soon. (Not today though)
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

kveroneau

  • Full Member
  • ***
  • Posts: 119
Re: FPC 3.2.0rc1 released!
« Reply #24 on: March 30, 2020, 07:18:07 pm »
May I make a suggestion on how FPC releases could be done in the future to allow for releasing say a patched unit in the FCL, but keep the compiler/RTL coupled?

I think it would be very beneficial for both the FPC project and the developer community if the compiler/RTL were decoupled from the FCL.  This will allow fast and quick patching and/or improvements to the various FCL units, while the compiler/RTL can be released when they are known to be stable enough and production worthy.  This would essentially mimic the current FPC+Lazarus combos we see today, except with this, it will be FPC+FCL+Lazarus.  I understand how it might add some confusion, however when a developer downloads the FPC, they will have the option to also download the current FCL, or if they just want the RTL only for whatever reason, say embedded programming where most FCL units are not fully compatible, they can.  The current distribution of an all-in-one FPC install bundle should also be provided of course, as it currently is.

I'm just saying, it would be really nice to just patch the FCL once in awhile when a unit such as csvdataset is patched, but keep our current compiler/RTL.  As with Lazarus, the various FCL versions will need to denote which versions of the compiler/RTL it has been tested under, but for the most part, users won't be mixing and matching, they will just download the latest compiler/RTL/FCL install bundle as usual, and not even know that the contained FCL is even newer than the compiler/RTL.

I figure that generally FCL patches are easier to test, and usually will contain very critical patches such as for security vulnerabilities, memory leaks, and other bugs which may break applications if it is not patched soon.

kveroneau

  • Full Member
  • ***
  • Posts: 119
Re: FPC 3.2.0rc1 released!
« Reply #25 on: March 31, 2020, 12:18:42 am »
For anybody interested in checking out 3.2.0 through the relative safety of a Docker container, I hereby present a Docker project which will automagically download FPC 3.2.0rc1 from the official FTP, and it also downloads binutils and builds a GO32v2 binutils, and then downloads the 3.2.0rc1 source code, and builds a full cross-compiler for GO32v2!

For clarification, here is what is included through this Docker image:

  • Compile native Linux ELF x86_64 binaries, LCL is not included here, just RTL/FCL.
  • Compile real-mode MS-DOS programs using the new shiny i8086 build target(I personally tested this)
  • Compile protected-mode 32-bit MS-DOS programs using GO32v2 DOS Extender(I also tested this as well)

This image is great if you are compiling anything against either Linux or 16/32-bit MS-DOS targets, but don't want to mess around with your local FPC configuration/installation.  It's nicely contained in the Docker container for your enjoyment.

Something worth noting if you do plan on using this for DOS development, is that you can run the image like this:

Code: Pascal  [Select][+][-]
  1. docker run -it -v `pwd`/src:/usr/src kveroneau/fpc:3.2.0
  2.  

This will bring you inside the docker image into a bash shell where you have all the usual FPC and Linux commands at your disposal.  The default working directory is /usr/src, and this directory is binded to your host operating system.  Knowing this, you can easily create a DOS build and test pipeline on your Linux workstation using DOSBox!  Inside DOSBox just use the mount command to mount the same directory from your host.  Then use the DOSBox disk cache clearing hotkey after a compile to easily run the 16-bit or 32-bit program within DOSBox.

Here is the GitHub repo for this, if you wanted to give it a go:  https://github.com/kveroneau/fpc-docker/tree/master/Builder/fpc320

I am thinking of creating a build and uploading it to my Docker Hub page for anyone can just do a docker pull and use it without having to hit the FPC FTP servers each time someone wants to generate it.

Another fun fact about this Dockerfile, is that you can easily update the version number of FPC without a real hassle, and add additional cross-compile targets as needed.  Neat!  I feel that Docker works better a build tool, than a deployment tool.

I have taken the liberty to push my docker image up to Docker Hub.  I updated the Docker run command above, and also added a simple test along with a Makefile which will build a 16-bit .COM, 16-bit .EXE, and a 32-bit .EXE.  The Makefile can run within the docker container to generate the output binaries.  I tested the created binaries in my local DOSBox and it looks like it's good to go for anybody who wants to jump into the RC1 of FPC 3.2.0 without installing it over their existing FPC production install.

Docker Hub page for image: https://hub.docker.com/layers/kveroneau/fpc/3.2.0/images/sha256-e64ed3081691278903372ef8c5db72338bff6e4af4f5a7f964bc0045db93d4fd?context=explore

The Docker container also has nano installed and I included a Delphi syntax highlighter as well. ;)
« Last Edit: March 31, 2020, 01:41:44 am by kveroneau »

dbannon

  • Hero Member
  • *****
  • Posts: 2786
    • tomboy-ng, a rewrite of the classic Tomboy
Re: FPC 3.2.0rc1 released!
« Reply #26 on: March 31, 2020, 02:19:18 am »
Great news, thanks indeed.

It is mentioned above that the snapshots already have a couple of fixes not present in RC1, does that mean that fixes present in the snapshot will flow into RC2 and we should be testing against the snapshot ?

Or is RC1 what we should be testing and that will only change if critical things are found ?

Another matter, I find little or no wiki content about how to install eg FPC 320, beta, RC1 or snapshot.  While I have worked out my own recipe to do so, it would help get people involved in this testing phase is if was, publicly, less of a black art.  Is there a wiki page I just did not find ?  If not, I assume no one is unhappy with me making one ?

Davo

Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

kveroneau

  • Full Member
  • ***
  • Posts: 119
Re: FPC 3.2.0rc1 released!
« Reply #27 on: March 31, 2020, 02:41:32 am »
Another matter, I find little or no wiki content about how to install eg FPC 320, beta, RC1 or snapshot.  While I have worked out my own recipe to do so, it would help get people involved in this testing phase is if was, publicly, less of a black art.  Is there a wiki page I just did not find ?  If not, I assume no one is unhappy with me making one ?

The download tar provided, at least for Linux is formed exactly like a normal release tar.  You can just download the TAR file for Linux, extract it, and then run the usual install.sh as you normally would to install FPC in Linux.  I cannot say the same for either the Windows RC1 or OSX RC1, haven't tried downloading those.

In terms of getting more people involved, the Docker image I put up should give anyone with a recent Linux machine the ability to download a working copy into a Docker container and perform testing from within it.  The Dockerfile can be easily modified to support newer snapshots and/or RCs given it is provided in the same format as RC1 has been. :D

The Dockerfile also acts as a documentation on how to install FPC 3.2.0 as well, here's the full Docker command-line I used to install FPC 3.2.0 into the Docker image, which will also work outside of Docker of course. ;)

Code: Bash  [Select][+][-]
  1. $ cd /tmp && wget -O - ftp://ftp.freepascal.org/pub/fpc/beta/3.2.0-rc1/x86_64-linux/fpc-3.2.0rc1.x86_64-linux.tar|tar -xvf -
  2. $ cd /tmp/fpc-3.2.0rc1.x86_64-linux && bash install.sh && cd /root && rm -rf /tmp/fpc-3.2.0rc1.x86_64-linux
  3.  

Hope this information helps.

ASBzone

  • Hero Member
  • *****
  • Posts: 678
  • Automation leads to relaxation...
    • Free Console Utilities for Windows (and a few for Linux) from BrainWaveCC
Re: FPC 3.2.0rc1 released!
« Reply #28 on: March 31, 2020, 03:28:16 am »
Question: What is the relationship between this release and the fixes branch if I updated that, say, this morning Eastern Time?

The fixes branch has a few handfuls of extra revisions. The rc1 branch is from 23feb.

Ah, okay.  Thanks.   That is very helpful.
-ASB: https://www.BrainWaveCC.com/

Lazarus v2.2.7-ada7a90186 / FPC v3.2.3-706-gaadb53e72c
(Windows 64-bit install w/Win32 and Linux/Arm cross-compiles via FpcUpDeluxe on both instances)

My Systems: Windows 10/11 Pro x64 (Current)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: FPC 3.2.0rc1 released!
« Reply #29 on: March 31, 2020, 09:48:52 am »
May I make a suggestion on how FPC releases could be done in the future to allow for releasing say a patched unit in the FCL, but keep the compiler/RTL coupled?

The problem is that everything depending on that unit needs to be recompiled, so basically that already exists, it is called fpcdeluxe :-)

 

TinyPortal © 2005-2018