Inclusion of installed BigDFT fails using intel compiler

Bug #1190597 reported by Faruk Kujundžić on 2013-06-13
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ABINIT
Low
Yann Pouillon
BigDFT
Medium
Damien

Bug Description

Configure tests for BigDFT fail due to intel compiler interface checks as per:
http://software.intel.com/en-us/articles/fdiag6633

Full error (from config.log):
##############################################
configure:33887: checking whether BigDFT libraries work
configure:33902: ifort -o conftest -g -extend-source -vec-report0 -noaltparam -nofpscomp -I./bigdft/include -I./bigdft/include -I./bigdft/include -static-
intel -static-libgcc conftest.F90 -L./bigdft/lib -lbigdft-1 -labinit -lmkl_intel_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -L./bigdft/lib -lxc -lmpi
 -L/apps/intel/compiler/composerxe-2011.3.174/compiler/lib/intel64 -L/apps/intel/compiler/composerxe-2011.3.174/ipp/lib/intel64 -L/apps/intel/compiler/composerxe
-2011.3.174/mkl/lib/intel64 -L/apps/intel/compiler/composerxe-2011.3.174/tbb/lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21 -L/opt/sgi/mpt/mpt-2.04/lib -L/home/apps
/intel/compiler/composerxe-2011.3.174/compiler/lib/intel64 -L/home/apps/GCC442/inst/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.4.2 -L/home/apps/GCC442/inst/bin/..
/lib/gcc -L/home/apps/GCC442/inst/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.4.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/home/apps/GCC442/inst/bi
n/../lib/gcc/x86_64-unknown-linux-gnu/4.4.2/../../.. -L/lib64 -L/lib -L/usr/lib64 -L/usr/lib -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -l
dl >&5
conftest.F90(9): error #6633: The type of the actual argument differs from the type of the dummy argument. [IACCELERATION]
      call init_restart_objects(iproc,iacceleration,atoms,rst,routine)
--------------------------------------^
compilation aborted for conftest.F90 (code 1)
configure:33902: $? = 1
configure: failed program was:
| program main
|
| use bigdft_api
| implicit none
| integer iproc,iacceleration
| type(atoms_data) :: atoms
| type(restart_objects) :: rst
| character(len=*),parameter :: routine = "conftest"
| call init_restart_objects(iproc,iacceleration,atoms,rst,routine)
|
| end
configure:33909: result: no
configure:34619: error: external bigdft support does not work
##############################################

I traced this back to the conftest.F90 declaring iacceleration as integer, which doesn't fit with the declaration of init_restart_objects in BigDFT., This is what I did to make the test succeed (nota bene I have no clue about fortran, this is not intended as a workable patch but just to give you the general idea about what is wrong):

diff -ruN abinit-7.2.2.orig/config/m4/conn-dft.m4 abinit-7.2.2/config/m4/conn-dft.m4
--- abinit-7.2.2.orig/config/m4/conn-dft.m4 2013-06-13 10:34:42.083745000 +0200
+++ abinit-7.2.2/config/m4/conn-dft.m4 2013-06-13 10:37:07.380358283 +0200
@@ -104,7 +104,8 @@
     [[
       use bigdft_api
       implicit none
- integer iproc,iacceleration
+ integer iproc
+ type(input_variables) :: iacceleration
       type(atoms_data) :: atoms
       type(restart_objects) :: rst
       character(len=*),parameter :: routine = "conftest"
diff -ruN abinit-7.2.2.orig/configure abinit-7.2.2/configure
--- abinit-7.2.2.orig/configure 2013-05-18 22:33:30.000000000 +0200
+++ abinit-7.2.2/configure 2013-06-13 10:45:33.516554709 +0200
@@ -33891,7 +33891,8 @@

       use bigdft_api
       implicit none
- integer iproc,iacceleration
+ integer iproc
+ type(input_variables) :: iacceleration
       type(atoms_data) :: atoms
       type(restart_objects) :: rst
       character(len=*),parameter :: routine = "conftest"

Yann Pouillon (pouillon) wrote :

Forwarded the bug report to BigDFT developers, in order to determine whether the failure comes from changes in the BigDFT API without notifying Abinit developers.

Changed in abinit:
status: New → In Progress
importance: Undecided → Low
assignee: nobody → Yann Pouillon (pouillon)

Salut Yann,

Le 28/10/2013, Yann Pouillon <email address hidden> a écrit :
> Forwarded the bug report to BigDFT developers, in order to determine
> whether the failure comes from changes in the BigDFT API without
> notifying Abinit developers.
I'm back from conference ! Je regarde les problèmes liés à BigDFT dans
ABINIT cette semaine.

Damien.

Damien (damien-caliste) wrote :

The API of the routine used for the autotools tests has changed. My private branch of ABINIT 7.5.4 contains a fix for this.
However this fix is not applicable before other issues from PAW inclusion are not solved.

Changed in bigdft:
assignee: nobody → Damien (damien-caliste)
Changed in bigdft:
status: New → Fix Released
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers