Problem with include paths?

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
Kirill
Posts: 2
Joined: Wed Mar 24, 2010 12:36 am

Problem with include paths?

Post by Kirill » Wed Mar 24, 2010 12:41 am

I am trying to compile Abinit 6.0.2 for the first time under Linux with pgi 7.0 compilers. The compilation stops in 12_hide_mpi:

/opt/mpich2.pgi70/bin/mpif90 -DHAVE_CONFIG_H -I. -I../.. -I../../src/incs -I../../src/incs -g -c -o xallgather_mpi.o xallgather_mpi.F90
PGF90-F-0004-Unable to open MODULE file defs_basis.mod (xallgather_mpi.F90: 53)
PGF90/x86-64 Linux 7.0-7: compilation aborted

If I manually add -I../10_defs to the compiler invocation, it finds the defs_basis file and completes normally. But the problem persists with numerous files; it seems that the modules that have been previously compiled are not available in the include path when files in other directories are compiled. Am I doing something wrong, or is there a configuration bug somewhere?

Thanks,
Kirill

User avatar
pouillon
Posts: 651
Joined: Wed Aug 19, 2009 10:08 am
Location: Spain
Contact:

Re: Problem with include paths?

Post by pouillon » Wed Mar 24, 2010 5:22 pm

The PGI compilers are not supported anymore in Abinit because of their numerous and long-lasting bugs. You may however try to use FCFLAGS_EXTRA="-module ${PWD}/src/mods" as an argument to configure. Just know that this will likely not be enough to prevent the build from failing.

If your build succeeds, I strongly recommend that you run "make check" afterwards, or "make tests_acc4" if you have at least 4 processors at hand.

In any case, the best should probably be to use another compiler.

Please keep us in touch of your progress.
Yann Pouillon
Simune Atomistics
Donostia-San Sebastián, Spain

Kirill
Posts: 2
Joined: Wed Mar 24, 2010 12:36 am

Re: Problem with include paths?

Post by Kirill » Sat Mar 27, 2010 3:54 am

Thank you for your advice. I was able to compile the code with PGI 7.0, but I had to make a few additional adjustments and sacrifices. Apart from the -module argument, I had to copy netcdf.mod to netcdf directory, copy libxc_funcs_m.mod, xc_f90_lib_m.mod and xc_f90_types_m.mod in plugins/libxc/libxc-svn-r6071-fixed/src, disable bigdft, remove the innards of joint_dos, mlwfovlp_qp, m_gwannier, berryphase_new, bethesalpeter, screening, sigma, and mrgscr (more on this below), and fix Makefile.in in 98_main, which did not have all the necessary libraries listed in several places (namely, LIB_50... and/or LIB_49... for abinit_LDADD and the like). The majority of tests run normally after this, except those that use the routines I had to sacrifice. All these problematic routines (listed above) produce the same error message like this (no line number):

PGF90-S-0091-Constant expression of wrong data type (m_ebands.F90)
PGF90-S-0091-Constant expression of wrong data type (m_ebands.F90)
0 inform, 0 warnings, 2 severes, 0 fatal for joint_dos

I tried to investigate but could only figure out that the problem is likely related to the use of type(BZ_mesh_type) structures Kmesh and/or Qmesh. I would appreciate any ideas on how to work around this.

Thanks,
Kirill

Locked