Hi Maxim,

I’m really happy to report that -std=legacy allowed our palaeolithic programs 
to compile with gcc11!

Thanks so much for the providing the solution!

Ciao

Franco

> On 18 Jun 2021, at 17:16, Maxim Abalenkov <[email protected]> wrote:
> 
> Hello Franco et al.,
> 
> How are you? I’m not an expert on MacPorts dependencies, but you may/should 
> be able to compile your Fortran code with the GNU11 toolchain. Potentially, 
> you only need to specify the Fortran standard that your code supports. This 
> is possible via the -std flag to gfortran, e.g. 
> 
>   gfortran -std=f95 …
> 
> -std=std
> Specify the standard to which the program is expected to conform, which may 
> be one of ‘f95’, ‘f2003’, ‘f2008’, ‘f2018’, ‘gnu’, or ‘legacy’. The default 
> value for std is ‘gnu’, which specifies a superset of the latest Fortran 
> standard that includes all of the extensions supported by GNU Fortran, 
> although warnings will be given for obsolete extensions not recommended for 
> use in new code. The ‘legacy’ value is equivalent but without the warnings 
> for obsolete extensions, and may be useful for old non-standard programs. The 
> ‘f95’, ‘f2003’, ‘f2008’, and ‘f2018’ values specify strict conformance to the 
> Fortran 95, Fortran 2003, Fortran 2008 and Fortran 2018 standards, 
> respectively; errors are given for all extensions beyond the relevant 
> language standard, and warnings are given for the Fortran 77 features that 
> are permitted but obsolescent in later standards. The deprecated option 
> ‘-std=f2008ts’ acts as an alias for ‘-std=f2018’. It is only present for 
> backwards compatibility with earlier gfortran versions and should not be used 
> any more.
> 
> For more information please see:
> 
>   https://gcc.gnu.org/onlinedocs/gfortran/Fortran-Dialect-Options.html
> 
> —
> Best wishes,
> Maxim
> 
> Maxim Abalenkov \\ [email protected]
> +44 7 486 486 505 \\ http://mabalenk.gitlab.io
> 
>> On 18 Jun 2021, at 18:06, VACCARI FRANCO <[email protected]> wrote:
>> 
>> I’ve a temporary access to a new MacBook Air with M1 processor, to test on 
>> that Mac all our home made programs, mainly fortran. All external packages 
>> needed by our workflow were successfully installed (gnuplot, ImageMagick, 
>> gmt4 and many others), and I installed gcc11. 
>> 
>> Such modern compiler complains about some features in our code that are no 
>> longer supported, and fails to produce the executable. Of course one day we 
>> should update that code, but for the time being, and having to give back 
>> that Mac, I wanted to try with an older compiler. I installed gcc10 but that 
>> didn’t help.
>> 
>> I know that gcc8 works with our codes, so I tried to install that but failed.
>> 
>> The problem is that gcc8 requires libcc9, and that is marked as incompatible.
>> 
>> % sudo port install gcc8
>> --->  Computing dependencies for gcc8
>> The following dependencies will be installed: 
>> libgcc8
>> libgcc9
>> Continue? [Y/n]: 
>> --->  Fetching archive for libgcc9
>> --->  Attempting to fetch libgcc9-9.4.0_0.darwin_20.arm64.tbz2 from 
>> https://fra.de.packages.macports.org/libgcc9
>> --->  Attempting to fetch libgcc9-9.4.0_0.darwin_20.arm64.tbz2 from 
>> http://fco.it.packages.macports.org/libgcc9
>> --->  Attempting to fetch libgcc9-9.4.0_0.darwin_20.arm64.tbz2 from 
>> https://packages.macports.org/libgcc9
>> --->  Fetching distfiles for libgcc9
>> Error: gcc9 9.4.0 is not supported on Darwin 20 arm
>> Error: Failed to fetch libgcc9: incompatible OS X version
>> Error: See 
>> /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc9/libgcc9/main.log
>>  for details.
>> Error: Follow https://guide.macports.org/#project.tickets if you believe 
>> there
>> is a bug.
>> Error: Processing of port gcc8 failed
>> locadmin@eAir ~ %
>> 
>> Actually any version from 5 to 9 requires libcc9
>> 
>> sudo port install gcc5
>> --->  Computing dependencies for gcc5
>> The following dependencies will be installed: 
>> isl18
>> libgcc6
>> libgcc7
>> libgcc8
>> libgcc9
>> Continue? [Y/n]:
>> 
>> and therefore fails to install. 
>> 
>> gcc49 is a different story, as it’s clearly declared unsupported for Xcode 9 
>> or greater:
>> 
>> sudo port install gcc49
>> Password:
>> --->  Fetching distfiles for gcc49
>> Error: building gcc49 is not supported with Xcode 9 or greater
>> Error: Failed to fetch gcc49: unsupported platform
>> Error: See 
>> /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc49/gcc49/main.log
>>  for details.
>> Error: Follow https://guide.macports.org/#project.tickets if you believe 
>> there
>> is a bug.
>> Error: Processing of port gcc49 failed
>> 
>> Is it really so that gcc9 and earlier will never be compatible with M1 Macs? 
>> And why libgcc9 is needed by gcc5?
>> 
>> Thanks
>> 
>> Franco
>> 
>> 
> 

Reply via email to