Upgrading the Fortran Compiler

In the upcoming version 2.14 release, Simply Fortran will begin shipping GNU Fortran 4.9.0 for the first time. This compiler release is considered a major change for Simply Fortran regardless of the numbering convention because it will once again break the compiled module format for Fortran 90+ projects.  While this change is conceptually simple for most people, it presents some interesting challenges for Approximatrix.

Simply Fortran has been using the GNU Fortran 4.8 series since version 1.42, which was released in March, 2013.   During that period, the number of packages  available in the Simply Fortran Package Manager has grown considerably.   An issue arises, though, when considering how to handle packages containing pre-compiled modules once the latest release  of Simply Fortran is available.

We’ve now shipped an updated version of the Package Manager that is aware of the compiler version currently  available.  Behind the scenes, packages will begin shipping with “required compiler versions” to ensure any pre-compiled modules are compatible with the version of GNU Fortran installed.  This change  should be invisible to the user.  If a package is made available requiring GNU Fortran 4.9 and the  user still has 4.8.2 installed, the package will not even be visible in the Package Manager.  This configuration allows Approximatrix to begin updating packages as necessary while continuing to allow older installations to operate properly.

The second issue is actually rebuilding all necessary packages.  The construction of packages for the Package Manager is not particularly simple, hence why the Package Manager exists in the first place.  Although Simply Fortran 2.14 is basically ready for final testing, the actual release will be held back until the requisite packages are also upgraded.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s