Page 1 of 1

Abinit-9.0.4 make error with Fortran on Rocks 7.0

Posted: Tue Aug 25, 2020 7:32 am
by letuan
I tried many times to install Abinit on newly installed Rocks 7.0 frontend, but with no success.
1. With Abinit-8.10.3, everything goes smoothly until the last module (98_main), when linking with the module 52_fft_mpi_noabirule, there some reference misunderstanding with FFTW, though I had installed separately the newest fftw-3.3.8 to /usr/local/fftw-3.3.8 directory.
2. With Abinit-9.0.4:
Firstly, I have installed separately the fallbacks following Antonnius's post (viewtopic.php?f=3&t=4444). The fallbacks (libxc, hdf5, netcdf4) are installed until the fault "nc_open cannot be found" in netcdf4_fortran installation.
Then I followed this procedure:
a. Making configure at the top of Abinit-9.0.4 directoty

Code: Select all

prefix=/share/apps/Abinit/abinit-9.0.4
FC="/opt/openmpi/bin/mpif90"
CC="/opt/openmpi/bin/mpicc"
CXX="/opt/openmpi/bin/mpic++"

FCFLAGS='-g -O3 --free-line-length-none'
with-optim-flavor="aggressive"

with_mpi="yes"
enable_mpi_io="yes"
MPI_FCFLAGS="-I/usr/include" 
MPI_LIBS="-L/usr/lib64 -lmpi"

with_fft_flavor="fftw3"
FFTW3_FLAGS="-I/share/apps/fftw-3.3.8/include"
FFTW3_LIBS="-L/share/apps/fftw-3.3.8/lib64 -lfftw3"
         
with_linalg_flavor="atlas"
LINALG_CPPFLAGS="-I/usr/include"
LINALG_FCFLAGS="-I/usr/include"
LINALG_LIBS="-L/usr/lib64 -lblas -llapack"
b. Of course, the message showed the errors about the fallbacks, but program has generated script build-abinit-fallbacks.sh under ./fallbacks directory. I went there and issued the script running. After the fallbacks are being installed, the paths are copied to another, the second ac9, file with the additional paths like that:

Code: Select all

with_libxc=/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/libxc/4.2.3
with_hdf5=/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/hdf5/1.10.6
with_netcdf=/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/netcdf4/4.6.3
with_netcdf_fortran=/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/netcdf4_fortran/4.5.2
with_xmlf90=/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/xmlf90/1.5.3.1
with_wannier90=/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/wannier90/2.0.1.1
c. Returning to the Abinit's top place, I made configure command again, and it made without any error. But, when compiling, I am facing with this kind of error:

Code: Select all

/opt/openmpi/bin/mpif90 -DHAVE_CONFIG_H -I. -I../..  -I../../shared/common/src/10_defs -I../../shared/common/src/10_defs -I../../shared/common/src/11_memory_mpi -I../../shared/common/src/11_memory_mpi -I../../shared/common/src/12_hide_mpi -I../../shared/common/src/12_hide_mpi -I../../shared/common/src/14_hidewrite -I../../shared/common/src/14_hidewrite -I../../shared/common/src/16_hideleave -I../../shared/common/src/16_hideleave -I../../shared/common/src/27_toolbox_oop -I../../shared/common/src/27_toolbox_oop -I../../shared/common/src/28_numeric_noabirule -I../../shared/common/src/28_numeric_noabirule -I../../shared/common/src/32_util -I../../shared/common/src/32_util -I../../src/41_geometry -I../../src/41_geometry -I../../src/42_parser -I../../src/42_parser -I../../src/44_abitools -I../../src/44_abitools -I../../src/44_abitypes_defs -I../../src/44_abitypes_defs -I../../src/45_geomoptim -I../../src/45_geomoptim -I../../src/56_recipspace -I../../src/56_recipspace -I../../src/72_response -I../../src/72_response -I../../src/77_ddb -I../../src/77_ddb -I../../src/78_effpot -I../../src/78_effpot -I../../shared/common/src/incs -I../../shared/common/src/incs -I../../shared/common/src/mods -I../../shared/common/src/mods -I../../src/incs -I../../src/incs -I../../src/mods -I../../src/mods -I../../shared/libpaw/incs -I../../shared/libpaw/incs -I../../shared/libpaw/mods -I../../shared/libpaw/mods -I/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/hdf5/1.10.6/include -I/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/netcdf4/4.6.3/include -I/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/netcdf4/4.6.3/include -I/include -I/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/netcdf4_fortran/4.5.2/include   -ffree-form -J../mods   -g -O3 --free-line-length-none   -I/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/netcdf4/4.6.3/include  -I/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/netcdf4_fortran/4.5.2/include  -I/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/xmlf90/1.5.3.1/include   -I/share/apps/Abinit/abinit-9.0.4/fallbacks/install_fb/gnu/4.8/wannier90/2.0.1.1/include -c -o m_hashtable_strval.o m_hashtable_strval.F90
Warning: Nonexistent include directory "/include"
m_hashtable_strval.F90:55.41:

     CHARACTER(len=:), ALLOCATABLE :: key
                                         1
Error: Deferred-length character component 'key' at (1) is not yet supported
m_hashtable_strval.F90:55.41:

     CHARACTER(len=:), ALLOCATABLE :: key
                                         1
Error: Deferred-length character component 'key' at (1) is not yet supported
m_hashtable_strval.F90:55.41:

     CHARACTER(len=:), ALLOCATABLE :: key
                                         1
Error: Deferred-length character component 'key' at (1) is not yet supported
m_hashtable_strval.F90:347.66:

          call self%vec(i)%print_entry(label=label, prefix=prefix)
                                                                  1
Error: 'print_entry' at (1) should be a SUBROUTINE
m_hashtable_strval.F90:333.38:

          call self%vec(i)%print_all()
                                      1
Error: 'print_all' at (1) should be a SUBROUTINE
m_hashtable_strval.F90:318.16:

        s=s+self%vec(i)%sum_entry(label=label, prefix=prefix)
                1
Error: 'sum_entry' at (1) should be a FUNCTION
m_hashtable_strval.F90:320.17:

        s=s+ self%vec(i)%sum_val()
                 1
Error: 'sum_val' at (1) should be a FUNCTION
m_hashtable_strval.F90:298.32:

          CALL tbl%vec(i)%free()
                                1
Error: 'free' at (1) should be a SUBROUTINE
m_hashtable_strval.F90:286.43:

    CALL tbl%vec(hash)%get(key=key,val=val)
                                           1
Error: 'get' at (1) should be a SUBROUTINE
m_hashtable_strval.F90:275.43:

    CALL tbl%vec(hash)%put(key=key,val=val)
                                           1
Error: 'put' at (1) should be a SUBROUTINE
m_hashtable_strval.F90:55.41:

     CHARACTER(len=:), ALLOCATABLE :: key
                                         1
Error: Deferred-length character component 'key' at (1) is not yet supported
m_hashtable_strval.F90:55.41:

     CHARACTER(len=:), ALLOCATABLE :: key
                                         1
Error: Deferred-length character component 'key' at (1) is not yet supported
m_hashtable_strval.F90:232.63:

        call self%child%print_entry(label=label, prefix=prefix)
                                                               1
Error: 'print_entry' at (1) should be a SUBROUTINE
m_hashtable_strval.F90:193.35:

        call self%child%print_all()
                                   1
Error: 'print_all' at (1) should be a SUBROUTINE
m_hashtable_strval.F90:179.16:

        s=s+self%child%sum_entry(label=label, prefix=prefix)
                1
Error: 'sum_entry' at (1) should be a FUNCTION
m_hashtable_strval.F90:145.18:

          s=s+self%child%sum_val()
                  1
Error: 'sum_val' at (1) should be a FUNCTION
m_hashtable_strval.F90:55.41:

     CHARACTER(len=:), ALLOCATABLE :: key
                                         1
Error: Deferred-length character component 'key' at (1) is not yet supported
make[3]: *** [m_hashtable_strval.o] Error 1
make[3]: Leaving directory `/share/apps/Abinit/abinit-9.0.4/src/78_effpot'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/share/apps/Abinit/abinit-9.0.4/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/share/apps/Abinit/abinit-9.0.4'
make: *** [all] Error 2
Using the original build-abinit-fallbacks.sh script (with the disabled wannier90 and xmlf90 fallbacks) gave the same error. The GNU compilers (v. 4.8) are in use and fftw v.3.3.8 was installed instead of v.3.3.5 in CentOS-7.4 (for Rocks 7.0 cluster distribution).
Any suggestion will be appreciated.

Re: Abinit-9.0.4 make error with Fortran on Rocks 7.0  [SOLVED]

Posted: Wed Aug 26, 2020 9:51 am
by admin
Hi,

see in "KNOWN_PROBLEMS" in abinit source :
Status, for the different versions of compilers that are supported (or might become soon).

GNU Fortran compiler (presently tested : v5.4, v7.3, v7.4, v8.2, v8.3, v9.1, v9.2)

GNU 4.x is no longer supported: that's the reason for the error!

Re: Abinit-9.0.4 make error with Fortran on Rocks 7.0

Posted: Wed Aug 26, 2020 4:34 pm
by letuan
Thanks to admin for the reply. It is sad that I have to come back to some older versions of the package,

Re: Abinit-9.0.4 make error with Fortran on Rocks 7.0

Posted: Sat Aug 29, 2020 5:46 pm
by ebousquet
Dear Le Tuan,
It would be better that you update the gnu compiler to a newer version than downgrading the abinit version to fit with an old version of gnu. The gnu compilers have done a lot of improvement since version 4 such that any code you will compile might run faster and will be more efficient with a newer compiler version.
Best wishes,
Eric

Re: Abinit-9.0.4 make error with Fortran on Rocks 7.0

Posted: Fri Oct 23, 2020 4:44 am
by letuan
Dear Eric,
Thank to your advice. I understand, of course, that upgrading gnu is surely much better than downgrading the Abinit versions. But problem is in the fact, that gnu is used in Rocks clustering package, and for my cluster I cannot, at this moment, find out any more suitable and convenient clustering package besides of Rocks one.
Anyway, now I am using the Abinit v. 8.10.3 in my Rocks 7.0 cluster without BigDFT because the configuration failed with this fallback.
It is not happy for me that Rocks's creators are not hurry up with their updates - the last version (7.0) was released still in 2017.

Re: Abinit-9.0.4 make error with Fortran on Rocks 7.0

Posted: Fri Oct 23, 2020 8:58 pm
by ebousquet
Dear Le Tuan,
OK, this happens, but if the v. 8.10.3 can do everything you need, you might not need to use the latest version of Abinit?
Best wishes,
Eric