compile abinit ~8.10.1 fail with gfortran 7.3.0 + openmpi3  [SOLVED]

option, parallelism,...

Moderators: fgoudreault, mcote

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.
Locked
jun1234
Posts: 7
Joined: Wed Aug 22, 2018 4:16 pm

compile abinit ~8.10.1 fail with gfortran 7.3.0 + openmpi3  [SOLVED]

Post by jun1234 » Fri Nov 02, 2018 4:56 am

Since gcc 7.3.0 is default compiler in Ubuntu 18.04, I compile abinit with gcc 7.3.0 then, I got this error message.

mpif90 -DHAVE_CONFIG_H -I. -I../.. -I../../src/41_xc_lowlevel -I../../src/41_xc_lowlevel -I../../src/incs -I../../src/incs -I/home/list1331/Downloads/abinit-8.10.1/fallbacks/exports/include -ffree-form -J/home/list1331/Downloads/abinit-8.10.1/src/mods -O2 -mtune=native -march=native -g -ffree-line-length-none -c -o m_paral_atom.o m_paral_atom.F90
m_libpaw_mpi.F90:3349:12:

tag=MOD(nt,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:3282:12:

tag=MOD(nt,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:3215:14:

tag = MOD(n1,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:3148:14:

tag = MOD(n1,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:3082:20:

my_tag = MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:3023:20:

my_tag = MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:2964:20:

my_tag = MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:2904:20:

my_tag = MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:2846:20:

my_tag = MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:2788:20:

my_tag = MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:2730:20:

my_tag = MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:2669:18:

my_tag=MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:2607:18:

my_tag=MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:2544:18:

my_tag=MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:2483:18:

my_tag=MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:2422:18:

my_tag=MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:2361:20:

my_tag = MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero
m_libpaw_mpi.F90:2300:20:

my_tag = MOD(tag,MPI_TAG_UB)
1
Error: Argument ‘P’ of MOD at (1) shall not be zero

I think MPI_TAG_UB set to zero with openmpi3 + gcc 7.3.0, so I check MPI_TAG_UB with this code.

program mpitag
use mpi
implicit none
integer :: err
integer (KIND=MPI_ADDRESS_KIND) :: my_tag_ub
logical flag


call MPI_INIT(err)
call MPI_COMM_GET_ATTR(MPI_COMM_WORLD, MPI_TAG_UB, my_tag_ub, flag, err)
if (flag .eqv. .true.) then
print *, "Got tag ub:", my_tag_ub
else
print *, "Couldn't find tag ub!"
endif
call MPI_FINALIZE(err)
end program mpitag

Then I got 2147483647 for MPI_TAG_UB.

Here is information about my openmpi.

Package: Open MPI list1331@LIST0000 Distribution
Open MPI: 3.0.3
Open MPI repo revision: v3.0.3
Open MPI release date: Oct 29, 2018
Open RTE: 3.0.3
Open RTE repo revision: v3.0.3
Open RTE release date: Oct 29, 2018
OPAL: 3.0.3
OPAL repo revision: v3.0.3
OPAL release date: Oct 29, 2018
MPI API: 3.1.0
Ident string: 3.0.3
Prefix: /usr/local
Configured architecture: x86_64-unknown-linux-gnu
Configure host: LIST0000
Configured by: list1331
Configured on: Thu Nov 1 21:32:38 KST 2018
Configure host: LIST0000
Configure command line: '--with-cuda=/usr' '--with-psm=/usr' '--with-x'
'--with-libfabric=/usr' '--with-verbs'
'--with-zlib=/usr' '--with-libnl=/usr'
'--enable-hwloc-pci' '--enable-mpi-fortran'
'--enable-mpi-cxx' '--enable-ipv6' 'CFLAGS=-m64'
'CXXFLAGS=-m64' 'FFLAGS=-m64' 'FCFLAGS=-m64'
Built by: list1331
Built on: Thu 1 Nov 23:32:49 KST 2018
Built host: LIST0000
C bindings: yes
C++ bindings: yes
Fort mpif.h: yes (all)
Fort use mpi: yes (full: ignore TKR)
Fort use mpi size: deprecated-ompi-info-value
Fort use mpi_f08: yes
Fort mpi_f08 compliance: The mpi_f08 module is available, but due to
limitations in the gfortran compiler and/or Open
MPI, does not support the following: array
subsections, direct passthru (where possible) to
underlying Open MPI's C functionality
Fort mpi_f08 subarrays: no
Java bindings: no
Wrapper compiler rpath: runpath
C compiler: gcc
C compiler absolute: /usr/bin/gcc
C compiler family name: GNU
C compiler version: 7.3.0
C++ compiler: g++
C++ compiler absolute: /usr/bin/g++
Fort compiler: gfortran
Fort compiler abs: /usr/bin/gfortran
Fort ignore TKR: yes (!GCC$ ATTRIBUTES NO_ARG_CHECK ::)
Fort 08 assumed shape: yes
Fort optional args: yes
Fort INTERFACE: yes
Fort ISO_FORTRAN_ENV: yes
Fort STORAGE_SIZE: yes
Fort BIND(C) (all): yes
Fort ISO_C_BINDING: yes
Fort SUBROUTINE BIND(C): yes
Fort TYPE,BIND(C): yes
Fort T,BIND(C,name="a"): yes
Fort PRIVATE: yes
Fort PROTECTED: yes
Fort ABSTRACT: yes
Fort ASYNCHRONOUS: yes
Fort PROCEDURE: yes
Fort USE...ONLY: yes
Fort C_FUNLOC: yes
Fort f08 using wrappers: yes
Fort MPI_SIZEOF: yes
C profiling: yes
C++ profiling: yes
Fort mpif.h profiling: yes
Fort use mpi profiling: yes
Fort use mpi_f08 prof: yes
C++ exceptions: no
Thread support: posix (MPI_THREAD_MULTIPLE: yes, OPAL support: yes,
OMPI progress: no, ORTE progress: yes, Event lib:
yes)
Sparse Groups: no
Internal debug support: no
MPI interface warnings: yes
MPI parameter check: runtime
Memory profiling support: no
Memory debugging support: no
dl support: yes
Heterogeneous support: no
mpirun default --prefix: no
MPI I/O support: yes
MPI_WTIME support: native
Symbol vis. support: yes
Host topology support: yes
MPI extensions: affinity, cuda
FT Checkpoint support: no (checkpoint thread: no)
C/R Enabled Debugging: no
MPI_MAX_PROCESSOR_NAME: 256
MPI_MAX_ERROR_STRING: 256
MPI_MAX_OBJECT_NAME: 64
MPI_MAX_INFO_KEY: 36
MPI_MAX_INFO_VAL: 256
MPI_MAX_PORT_NAME: 1024
MPI_MAX_DATAREP_STRING: 128
MCA allocator: basic (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA allocator: bucket (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA backtrace: execinfo (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA btl: self (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA btl: tcp (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA btl: smcuda (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA btl: openib (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA btl: vader (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA compress: bzip (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA compress: gzip (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA crs: none (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA dl: dlopen (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA event: libevent2022 (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA hwloc: hwloc1117 (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA if: linux_ipv6 (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA if: posix_ipv4 (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA installdirs: env (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA installdirs: config (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA memory: patcher (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA mpool: hugepage (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA patcher: overwrite (MCA v2.1.0, API v1.0.0, Component
v3.0.3)
MCA pmix: isolated (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA pmix: pmix2x (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA pmix: flux (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA pstat: linux (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA rcache: gpusm (MCA v2.1.0, API v3.3.0, Component v3.0.3)
MCA rcache: grdma (MCA v2.1.0, API v3.3.0, Component v3.0.3)
MCA rcache: rgpusm (MCA v2.1.0, API v3.3.0, Component v3.0.3)
MCA shmem: posix (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA shmem: mmap (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA shmem: sysv (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA timer: linux (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA dfs: orted (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA dfs: app (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA dfs: test (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA errmgr: default_app (MCA v2.1.0, API v3.0.0, Component
v3.0.3)
MCA errmgr: default_hnp (MCA v2.1.0, API v3.0.0, Component
v3.0.3)
MCA errmgr: default_tool (MCA v2.1.0, API v3.0.0, Component
v3.0.3)
MCA errmgr: default_orted (MCA v2.1.0, API v3.0.0, Component
v3.0.3)
MCA errmgr: dvm (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA ess: pmi (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA ess: slurm (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA ess: tool (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA ess: hnp (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA ess: env (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA ess: singleton (MCA v2.1.0, API v3.0.0, Component
v3.0.3)
MCA filem: raw (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA grpcomm: direct (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA iof: tool (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA iof: orted (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA iof: hnp (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA notifier: syslog (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA odls: default (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA oob: tcp (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA oob: ud (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA plm: slurm (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA plm: rsh (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA plm: isolated (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA ras: simulator (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA ras: slurm (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA rmaps: seq (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA rmaps: resilient (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA rmaps: rank_file (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA rmaps: ppr (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA rmaps: mindist (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA rmaps: round_robin (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA rml: oob (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA routed: direct (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA routed: radix (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA routed: binomial (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA routed: debruijn (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA rtc: hwloc (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA schizo: slurm (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA schizo: ompi (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA schizo: flux (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA schizo: orte (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA state: hnp (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA state: app (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA state: novm (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA state: dvm (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA state: orted (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA state: tool (MCA v2.1.0, API v1.0.0, Component v3.0.3)
MCA bml: r2 (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA coll: sm (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA coll: libnbc (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA coll: tuned (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA coll: basic (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA coll: inter (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA coll: self (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA coll: cuda (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA coll: sync (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA fbtl: posix (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA fcoll: dynamic_gen2 (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA fcoll: dynamic (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA fcoll: individual (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA fcoll: static (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA fcoll: two_phase (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA fs: ufs (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA io: ompio (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA io: romio314 (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA mtl: psm (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA mtl: ofi (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA osc: sm (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA osc: pt2pt (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA osc: rdma (MCA v2.1.0, API v3.0.0, Component v3.0.3)
MCA pml: v (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA pml: cm (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA pml: monitoring (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA pml: ob1 (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA rte: orte (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA sharedfp: individual (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA sharedfp: sm (MCA v2.1.0, API v2.0.0, Component v3.0.3)
MCA sharedfp: lockedfile (MCA v2.1.0, API v2.0.0, Component
v3.0.3)
MCA topo: treematch (MCA v2.1.0, API v2.2.0, Component
v3.0.3)
MCA topo: basic (MCA v2.1.0, API v2.2.0, Component v3.0.3)
MCA vprotocol: pessimist (MCA v2.1.0, API v2.0.0, Component
v3.0.3)



Any help related to this problem will be appreciated. Thank you.

User avatar
gmatteo
Posts: 291
Joined: Sun Aug 16, 2009 5:40 pm

Re: compile abinit ~8.10.1 fail with gfortran 7.3.0 + openmp

Post by gmatteo » Fri Nov 02, 2018 10:08 am

A similar problem has been reported here

viewtopic.php?f=19&t=3935

For the time being, one has to comment that part of the code.
The issue will be solved in the next release.

Locked