gotm-model / code

Source code for the General Ocean Turbulence Model
https://gotm.net
GNU General Public License v2.0
53 stars 44 forks source link

Error: Deferred-length character component 'long_name' at (1) is not yet supported #22

Closed iuryt closed 3 years ago

iuryt commented 3 years ago

Hi,

I am getting error while compiling GOTM. I thought that it would be related to the version, but in the documentation says that gfortran was tested for versions above 4.7.

Versions:

gcc (GCC) 4.8.1 GNU Fortran (GCC) 4.8.1 netCDF 4.3.0

cmake ../code/ -DGOTM_USE_FABM=off ``` -- The Fortran compiler identification is GNU 4.8.1 -- Check for working Fortran compiler: /share/pkg/gcc/4.8.1/bin/gfortran -- Check for working Fortran compiler: /share/pkg/gcc/4.8.1/bin/gfortran -- works -- Detecting Fortran compiler ABI info -- Detecting Fortran compiler ABI info - done -- Checking whether /share/pkg/gcc/4.8.1/bin/gfortran supports Fortran 90 -- Checking whether /share/pkg/gcc/4.8.1/bin/gfortran supports Fortran 90 -- yes -- Found NetCDF: -L/share/pkg/netcdf/4.3.0/lib -lnetcdff -lnetcdf -lnetcdf -- Configuring done -- Generating done -- Build files have been written to: /project/umd_amit_tandon/iury/research/models/GOTM/build ```
make ``` make[2]: Warning: File `extern/flexout/extern/yaml/CMakeFiles/yaml.dir/depend.make' has modification time 0.007 s in the future make[3]: Warning: File `extern/flexout/extern/yaml/CMakeFiles/yaml.dir/depend.make' has modification time 0.0016 s in the future make[3]: warning: Clock skew detected. Your build may be incomplete. make[2]: warning: Clock skew detected. Your build may be incomplete. make[2]: Warning: File `extern/flexout/extern/yaml/CMakeFiles/yaml.dir/yaml.F90.o.provides.build' has modification time 0.012 s in the future /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:59.48: character(len=:), allocatable :: key 1 Error: Deferred-length character component 'key' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:220.39: character(:), allocatable :: text 1 Error: Deferred-length character component 'text' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:155.44: character(:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:59.48: character(len=:), allocatable :: key 1 Error: Deferred-length character component 'key' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported /project/umd_amit_tandon/iury/research/models/GOTM/code/extern/flexout/extern/fortran-yaml/yaml_settings.F90:36.50: character(len=:), allocatable :: long_name 1 Error: Deferred-length character component 'long_name' at (1) is not yet supported Fatal Error: Error count reached limit of 25. make[2]: *** [extern/flexout/extern/yaml/CMakeFiles/yaml.dir/yaml_settings.F90.o] Error 1 make[1]: *** [extern/flexout/extern/yaml/CMakeFiles/yaml.dir/all] Error 2 make: *** [all] Error 2 ```
bolding commented 3 years ago

Hi Iury

Thanks for reporting this. We have experienced issues with gfortran before where a later version did not support previous supported features. I don't know if that is the case here.

Anyway gcc 4.8.1 is from May 31, 2013 so a software update might be appropriate.

Karsten

jornbr commented 3 years ago

Gfortran versions below 4.9 will definitely not work with the latest code, as they do not have complete support for allocatable character variables used extensively in GOTM's yaml/setting manager. 4.9 and up could work in theory, but I believe both 4.9 and 5.0 currently have problems with the GOTM code nevertheless. We test with 6 and up:

https://github.com/gotm-model/code/actions/runs/802477175

Jorn

NB FABM does work with 4.8 and up; it's the GOTM code that requires a later gfortran version.

iuryt commented 3 years ago

I tested with gfortran 8.1.0 and it worked.