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

option, parallelism,...

Moderators: jbeuken, Jordan, pouillon

Forum rules
Please have a look at ~abinit/doc/config/build-config.ac in the source package for detailed and up-to-date information about the configuration of Abinit 8 builds.
For a video explanation on how to build Abinit 7.x for Linux, please go to: http://www.youtube.com/watch?v=DppLQ-KQA68.
IMPORTANT: when an answer solves your problem, please check the little green V-like button on its upper-right corner to accept it.
Post Reply
letuan
Posts: 29
Joined: Fri Jan 25, 2013 4:00 pm
Location: Hanoi
Contact:

Abinit-9.0.4 make error with Fortran on Rocks 7.0

Post by letuan » Tue Aug 25, 2020 7:32 am

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.
Le Tuan,
Dept. of Electronic Materials,
Hanoi Uni. of Sci. and Technol., Vietnam

User avatar
admin
Site Admin
Posts: 33
Joined: Thu Sep 17, 2009 9:49 am

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

Post by admin » Wed Aug 26, 2020 9:51 am

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!

letuan
Posts: 29
Joined: Fri Jan 25, 2013 4:00 pm
Location: Hanoi
Contact:

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

Post by letuan » Wed Aug 26, 2020 4:34 pm

Thanks to admin for the reply. It is sad that I have to come back to some older versions of the package,
Le Tuan,
Dept. of Electronic Materials,
Hanoi Uni. of Sci. and Technol., Vietnam

ebousquet
Posts: 469
Joined: Tue Apr 19, 2011 11:13 am
Location: University of Liege, Belgium

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

Post by ebousquet » Sat Aug 29, 2020 5:46 pm

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

letuan
Posts: 29
Joined: Fri Jan 25, 2013 4:00 pm
Location: Hanoi
Contact:

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

Post by letuan » Fri Oct 23, 2020 4:44 am

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.
Le Tuan,
Dept. of Electronic Materials,
Hanoi Uni. of Sci. and Technol., Vietnam

ebousquet
Posts: 469
Joined: Tue Apr 19, 2011 11:13 am
Location: University of Liege, Belgium

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

Post by ebousquet » Fri Oct 23, 2020 8:58 pm

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

Post Reply