- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Good evening
I'm getting the following error when compiling a piece of code:
error #6645: The name of the module procedure conflicts with a name in the encompassing scoping unit. [FINAL]
The entire code base is massive so I've only attached the Fortran file in question here.
The error message appears when compiling with Intel Fortran 2021.9.0
ifort (IFORT) 2021.9.0 20230302
Copyright (C) 1985-2023 Intel Corporation. All rights reserved.
on the HPC "Freja" in Sweden. https://nsc.liu.se/systems/freja/ (AMD chips, Rocky Linux 9).
I do not get this error with Intel Fortran 2021.4.0 on the HPC2020 in Italy https://confluence.ecmwf.int/display/UDOC/Atos+HPCF%3A+System+overview (AMD chips, RHEL 8).
Same compiler flags are used on both machines:
The full compilation argument (using CMake) is
/software/sse2/freja_el9/easybuild/pure/software/impi/2021.9.0-intel-compilers-2023.1.0/mpi/2021.9.0/bin/mpiifort $(Fortran_DEFINES) $(Fortran_INCLUDES) $(Fortran_FLAGS) -fpe0 -convert big_endian -assume byterecl -align array64byte -traceback -fpic -qopenmp -qopenmp-threadprivate compat -fp-model precise -fp-speculation=safe -qopt-report=2 -qopt-report-phase=all -fast-transcendentals -ftz -finline-functions -finline-limit=1500 -Winline -assume realloc_lhs -diag-disable=7713 -diag-disable=11021 -diag-disable=10397 -g -O2 -march=core-avx2 -no-fma -c /nobackup/rossby22/sm_joakj/models_freja_intel/ecearth4.1b/sources/oifs-48r1/source/openifs/arpifs/mgrids/advection/mgrids_advection_submodule.F90 -o CMakeFiles/arpifs.DP.dir/arpifs/mgrids/advection/mgrids_advection_submodule.F90.o
I do not get any error about this when using GNU Fortran on either system.
Was there some change between the two compiler versions 2021.4.0 and 2021.9.0 which could make the error appear on one of them?
Is there any setting or flag I can set to avoid the error?
Many thanks
/Joakim
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The one file you sent does not reveal much, except that there is a routine final() defined. You should check if there is another subroutine or function or variable or type with the same name visible. Compilers do get smarter in checking errors or inconsistencies, so that may be the reason for the sudden appearance. But merely this source file is not enough to see what is going wrong.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page