Hello,

I am trying to compile siesta-4.1-b1 with NetCDF4 but I am getting into
troubles :(

The errors are (my system info is bellow):
####################
mpiifort -E -P -x c  -DCDF -DNCDF_4 -DMPI -DNCDF_PARALLEL -I.
-I/home/icamps/Temp/SIESTA/siesta-4.1-b1/Src/NCDF/src
/home/icamps/Temp/SIESTA/siesta-4.1-b1/Src/NCDF/src/nf_ncdf.F90 | sed -e
's/NEWLINE/\n/g;/^$/d;/^\!.*&/d;
s/[[:space:]]*##[[:space:]]*\([^[:space:]]*\)/\1/g;
s/[[:space:]]*#\([^i][^[:space:]]*\)/"\1"/g; s:/ /://:g;
s/"endif"/\n#endif/g' > nf_ncdf.f90 #2> /dev/null
ifort: command line warning #10155: ignoring option '-x'; argument required
ifort: error #10236: File not found:  'c'
mpiifort -c -w -O2 -mp -I../../    nf_ncdf.f90
nf_ncdf.f90(59): error #7002: Error in opening the compiled module file.
Check INCLUDE paths.   [NETCDF]
  use netcdf
------^
nf_ncdf.f90(95): error #8237: The character length in a component
declaration shall either be a colon, be an initialization expression, or be
a specification expression.   [GRP]
     character(len=NF90_MAX_NAME) :: grp = " "
-------------------------------------^
nf_ncdf.f90(95): error #6404: This name does not have a type, and must have
an explicit type.   [NF90_MAX_NAME]
     character(len=NF90_MAX_NAME) :: grp = " "
-------------------^
nf_ncdf.f90(255): error #6404: This name does not have a type, and must
have an explicit type.   [NF90_MPIIO]
    par = iand(NF90_MPIIO,this%mode) == NF90_MPIIO
---------------^
nf_ncdf.f90(255): error #6363: The intrinsic data types of the arguments
must be the same.   [IAND]
    par = iand(NF90_MPIIO,this%mode) == NF90_MPIIO
--------------------------^
nf_ncdf.f90(255): error #6404: This name does not have a type, and must
have an explicit type.   [IAND]
    par = iand(NF90_MPIIO,this%mode) == NF90_MPIIO
----------^
nf_ncdf.f90(257): error #6404: This name does not have a type, and must
have an explicit type.   [NF90_MPIPOSIX]
    par = iand(NF90_MPIPOSIX,this%mode) == NF90_MPIPOSIX
---------------^
nf_ncdf.f90(259): error #6404: This name does not have a type, and must
have an explicit type.   [NF90_PNETCDF]
    par = iand(NF90_PNETCDF,this%mode) == NF90_PNETCDF
---------------^
nf_ncdf.f90(297): error #6404: This name does not have a type, and must
have an explicit type.   [NF90_64BIT_OFFSET]
       this%mode = IOR(this%mode,NF90_64BIT_OFFSET)
---------------------------------^
nf_ncdf.f90(297): error #6363: The intrinsic data types of the arguments
must be the same.   [IOR]
       this%mode = IOR(this%mode,NF90_64BIT_OFFSET)
---------------------------------^
nf_ncdf.f90(311): error #6404: This name does not have a type, and must
have an explicit type.   [NF90_SHARE]
             if ( iand(NF90_SHARE,mode) /= NF90_SHARE ) &
-----------------------^
nf_ncdf.f90(311): error #6363: The intrinsic data types of the arguments
must be the same.   [IAND]
             if ( iand(NF90_SHARE,mode) /= NF90_SHARE ) &
----------------------------------^
nf_ncdf.f90(311): error #6404: This name does not have a type, and must
have an explicit type.   [IAND]
             if ( iand(NF90_SHARE,mode) /= NF90_SHARE ) &
------------------^
nf_ncdf.f90(359): error #6404: This name does not have a type, and must
have an explicit type.   [NF90_FORMAT_CLASSIC]
       case ( NF90_FORMAT_CLASSIC )
--------------^
nf_ncdf.f90(359): error #6601: In a CASE statement, the case-value must be
a constant expression.   [NF90_FORMAT_CLASSIC]
       case ( NF90_FORMAT_CLASSIC )
--------------^
nf_ncdf.f90(359): error #6612: In a CASE statement, the case-value must be
of type INTEGER, CHARACTER, or LOGICAL.   [NF90_FORMAT_CLASSIC]
       case ( NF90_FORMAT_CLASSIC )
--------------^
nf_ncdf.f90(359): error #6611: The case-value must be of the same type as
the case-expr.   [NF90_FORMAT_CLASSIC]
       case ( NF90_FORMAT_CLASSIC )
--------------^
nf_ncdf.f90(361): error #6404: This name does not have a type, and must
have an explicit type.   [NF90_FORMAT_64BIT]
       case ( NF90_FORMAT_64BIT )
--------------^
nf_ncdf.f90(361): error #6601: In a CASE statement, the case-value must be
a constant expression.   [NF90_FORMAT_64BIT]
       case ( NF90_FORMAT_64BIT )
--------------^
nf_ncdf.f90(361): error #6612: In a CASE statement, the case-value must be
of type INTEGER, CHARACTER, or LOGICAL.   [NF90_FORMAT_64BIT]
       case ( NF90_FORMAT_64BIT )
--------------^
nf_ncdf.f90(361): error #6611: The case-value must be of the same type as
the case-expr.   [NF90_FORMAT_64BIT]
       case ( NF90_FORMAT_64BIT )
--------------^
nf_ncdf.f90(363): error #6404: This name does not have a type, and must
have an explicit type.   [NF90_FORMAT_NETCDF4]
       case ( NF90_FORMAT_NETCDF4, NF90_FORMAT_NETCDF4_CLASSIC )
--------------^
nf_ncdf.f90(363): error #6601: In a CASE statement, the case-value must be
a constant expression.   [NF90_FORMAT_NETCDF4]
       case ( NF90_FORMAT_NETCDF4, NF90_FORMAT_NETCDF4_CLASSIC )
--------------^
nf_ncdf.f90(363): error #6612: In a CASE statement, the case-value must be
of type INTEGER, CHARACTER, or LOGICAL.   [NF90_FORMAT_NETCDF4]
       case ( NF90_FORMAT_NETCDF4, NF90_FORMAT_NETCDF4_CLASSIC )
--------------^
nf_ncdf.f90(363): error #6611: The case-value must be of the same type as
the case-expr.   [NF90_FORMAT_NETCDF4]
       case ( NF90_FORMAT_NETCDF4, NF90_FORMAT_NETCDF4_CLASSIC )
--------------^
nf_ncdf.f90(363): error #6404: This name does not have a type, and must
have an explicit type.   [NF90_FORMAT_NETCDF4_CLASSIC]
       case ( NF90_FORMAT_NETCDF4, NF90_FORMAT_NETCDF4_CLASSIC )
-----------------------------------^
nf_ncdf.f90(363): error #6601: In a CASE statement, the case-value must be
a constant expression.   [NF90_FORMAT_NETCDF4_CLASSIC]
       case ( NF90_FORMAT_NETCDF4, NF90_FORMAT_NETCDF4_CLASSIC )
-----------------------------------^
nf_ncdf.f90(363): error #6612: In a CASE statement, the case-value must be
of type INTEGER, CHARACTER, or LOGICAL.   [NF90_FORMAT_NETCDF4_CLASSIC]
       case ( NF90_FORMAT_NETCDF4, NF90_FORMAT_NETCDF4_CLASSIC )
-----------------------------------^
nf_ncdf.f90(363): error #6611: The case-value must be of the same type as
the case-expr.   [NF90_FORMAT_NETCDF4_CLASSIC]
       case ( NF90_FORMAT_NETCDF4, NF90_FORMAT_NETCDF4_CLASSIC )
-----------------------------------^
nf_ncdf.f90(3132): catastrophic error: Too many errors, exiting
compilation aborted for nf_ncdf.f90 (code 1)
make[2]: ***
[/home/icamps/Temp/SIESTA/siesta-4.1-b1/tmp-para-netcdf/arch.make:92:
nf_ncdf.o] Error 1
make[2]: Leaving directory
'/home/icamps/Temp/SIESTA/siesta-4.1-b1/tmp-para-netcdf/NCDF/src'
make[1]: *** [Makefile:20: lib] Error 2
make[1]: Leaving directory
'/home/icamps/Temp/SIESTA/siesta-4.1-b1/tmp-para-netcdf/NCDF'
make: *** [Makefile:372: libncdf.a] Error 2
####################


My system:
************************
OpenSUSE Tumbleweed (up-to-date)
Intel Parallel Studio XE 2017 (Fortran compiler, MPI, MKL, etc.)

HDF5 1.8.17 (configured/compiled with FC=mpiifort CC=mpicc ./configure
--enable-parallel --prefix=${H5DIR} --with-zlib=${H5DIR} --enable-fortran
--enable-fortran2003)

NetCDF4.4.1 (configured/compiled with CC=mpicc CPPFLAGS=-I${H5DIR}/include
LDFLAGS=-L${H5DIR}/lib64 ./configure --prefix=${NCDIR} --enable-netcdf-4
--enable-pnetcdf)

In my arch.make:

ETCDF_ROOT=/software/lib/netcdf
NETCDF_INCFLAGS=-I$(NETCDF_ROOT)/include
NETCDF_LIBS=-L$(NETCDF_ROOT)/lib64 -lnetcdff -lnetcdf -lhdf5_fortran -lhdf5
-lz
FPPFLAGS_CDF=-DCDF -DNCDF_4

COMP_LIBS += libncdf.a libfdict.a

LIBS=$(SUGGESTED_LIBS) $(NETCDF_LIBS) $(COMP_LIBS)
************************

[]'s,

Camps

Responder a