Abinit 6.8.1 compile errors with libxc_mod.F90

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
aeftimia
Posts: 2
Joined: Sat Jul 16, 2011 1:38 am

Abinit 6.8.1 compile errors with libxc_mod.F90

Post by aeftimia » Sat Jul 16, 2011 2:40 am

I run Ubuntu 11.4

I have installed the latest
libxc: with ./configure --prefix=/usr
etsf_io with ./configure --prefix=/usr

libxc is downloaded from the tddft.org because I needed the latest version of it installed for something else.

I tried to configure abinit with
./configure --prefix=/usr --enable-mpi="yes" --with-mpi-prefix=/usr --with-fallbacks-tardir=/opt/abinit/tarballs

The tarballs are indeed in the suggested location.

In short, configure does not think libxc or etsf_io "work," and it used the fallback ones. Then, make failed with:

Code: Select all

libxc_mod.F90:137.64:

  if (xcstrg(ii)=="XC_GGA_X_B86_R")        id(ii)=XC_GGA_X_B86_R
                                                                1
Error: Symbol 'xc_gga_x_b86_r' at (1) has no IMPLICIT type
libxc_mod.F90:235.60:

  if (xcstrg(ii)=="XC_LCA_LCH")            id(ii)=XC_LCA_LCH
                                                            1
Error: Symbol 'xc_lca_lch' at (1) has no IMPLICIT type
libxc_mod.F90:234.60:

  if (xcstrg(ii)=="XC_LCA_OMC")            id(ii)=XC_LCA_OMC
                                                            1
Error: Symbol 'xc_lca_omc' at (1) has no IMPLICIT type
make[7]: *** [libxc_mod.lo] Error 1
make[7]: Leaving directory `/opt/abinit/plugins/atompaw/atompaw-3.0.1/src'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory `/opt/abinit/plugins/atompaw/atompaw-3.0.1'
make[5]: *** [all] Error 2
make[5]: Leaving directory `/opt/abinit/plugins/atompaw/atompaw-3.0.1'
make[4]: *** [build-stamp] Error 2
make[4]: Leaving directory `/opt/abinit/plugins/atompaw'
make[3]: *** [package-ready] Error 2
make[3]: Leaving directory `/opt/abinit/plugins/atompaw'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/abinit/plugins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/abinit'
make: *** [all] Error 2


I would also like to build the gui, but configure tells me:
configure: the Abinit GUI will never be built

I also have atlas, blas, lapack, scalapack, fftw3, and sparskit installed, if there are ways to take advantage of that, please tell me. I am trying to optimize as much as possible.

Thank you,
Alex
config.log
configure log
(118.08 KiB) Downloaded 344 times

User avatar
jbeuken
Posts: 365
Joined: Tue Aug 18, 2009 9:24 pm
Contact:

Re: Abinit 6.8.1 compile errors with libxc_mod.F90

Post by jbeuken » Sat Jul 16, 2011 10:50 pm

Hi,

we have a bot to test abinit under ubuntu 10.4 with deb packages ( when availables )
then, the packages availables are :
    - gcc 4.4.3
    - netcdf 4.1
    - openmpi 1.4.1
    - fftw3 3.2
    - atlas 3.6

I download the libxc 1.1.0 from tddtf.org , configure it and install it under /opt/etsf/

the others plugins ( atompaw, bigdft, etsf_io, fox, wannier ) are download automatically from abinit website ( by default, the fallback folder is in ~/.abinit/tarballs )

I run this command :

./configure --with-config-file=config.ac

with config.ac file contains :

Code: Select all

enable_mpi="yes"
enable_mpi_io="yes"
with_mpi_prefix="/usr"
with_netcdf_incs="-I/usr/include"
with_netcdf_libs="-L/usr/lib64 -lnetcdf -lnetcdff"
with_fft_flavor="fftw3"
with_fft_incs="-I/usr/include/"
with_fft_libs="-L/usr/lib64 -lfftw3"
with_linalg_flavor="atlas"
with_linalg_libs="-L/usr/lib64 -llapack -lf77blas -lcblas -latlas"
with_dft_flavor="atompaw+bigdft+libxc+wannier90"
with_libxc_incs="-I/opt/etsf/include"
with_libxc_libs="-L/opt/etsf/lib -lxc"
enable_gw_dpc="yes"
enable_maintainer_checks="no"
enable_test_timeout="yes"
enable_gui_build="no"


and the configure works :

Summary of important options:

* C compiler : gnu version 4.4
* Fortran compiler: gnu version 4.4
* architecture : unknown unknown (64 bits)

* debugging : basic
* optimizations : standard

* MPI enabled : yes
* MPI-IO enabled : yes
* GPU enabled : no (none)

* TRIO flavor = netcdf+etsf_io-fallback
* TIMER flavor = abinit (libs: ignored)
* LINALG flavor = atlas (libs: user-defined)
* FFT flavor = fftw3 (libs: user-defined)
* MATH flavor = none (libs: ignored)
* DFT flavor = libxc+atompaw-fallback+bigdft-fallback+wannier90-fallback


you see : libxc is not the fallback one

but "make" fails with an error during compilation of atompaw :


Code: Select all

cd atompaw-3.0.1 && make
make[5]: Entering directory `/home/buildbot/ABINIT_OD/ktulu_gcc44/trunk_6.9.1-private/plugins/atompaw/atompaw-3.0.1'
...
libtool: compile:  /usr/bin/mpif90 -DHAVE_CONFIG_H -I. -I.. -I/opt/etsf/include -ffree-form -g -ffree-line-length-none -O2 -mtune=native -march=native -mfpmath=sse -c libxc_mod.F90 -o libxc_mod.o
libxc_mod.F90:137.64:

  if (xcstrg(ii)=="XC_GGA_X_B86_R")        id(ii)=XC_GGA_X_B86_R
                                                                1
Error: Symbol 'xc_gga_x_b86_r' at (1) has no IMPLICIT type
....


when I try with the libxc 1.0 ( the fallback one ), the make works !

next I try with version of libxc 1.1.0 but without atompaw

change in config.ac

Code: Select all

with_dft_flavor="bigdft+libxc+wannier90"


configure and make work but the internal tests of libxc with abinit failed ( cd tests; make Tlibxc ) :?
Case_01 failed (too large absolute error : 1.71404536928321e-05 , accepted 0.0 )
Case_02 failed (too large absolute error : 1.33706899987374e-05 , accepted 0.0 )
Case_03 failed (too large absolute error : 4535.3 , accepted 1.1e-1 )
Case_04 failed (too large absolute error : 2382999434.6 , accepted 1.1e-5 )
Case_05 failed (too large absolute error : 24780.9 , accepted 0.0 )
Case_06 failed (too large absolute error : 2633 , accepted 0.0 )
Case_07 failed (too large absolute error : 1719.2 , accepted 0.0 )
Case_08 failed (too large absolute error : 58460.1 , accepted 81.0 )
Case_09 failed (too large absolute error : 33.3 , accepted 1.1e-7 )
Case_10 succeeded
Case_13 failed (too large absolute error : 12430 , accepted 1.1e-4 )
Case_21 passed
Case_22 succeeded


then, it seems there is a big problem with libxc 1.1 with abinit 6.8

sorry but I can't do more

jmb
------
Jean-Michel Beuken
Computer Scientist

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

Re: Abinit 6.8.1 compile errors with libxc_mod.F90

Post by pouillon » Mon Jul 18, 2011 5:44 pm

Here is a little additional remark: configuring Abinit and/or any of its dependencies with --prefix=/usr on Debian-based systems might not be a very good idea, since we are preparing binary packages to be installed with apt-get. Using the default prefix (/usr/local) will ensure that the package manager does not overwrite your custom libraries and programs.
Yann Pouillon
Simune Atomistics
Donostia-San Sebastián, Spain

aeftimia
Posts: 2
Joined: Sat Jul 16, 2011 1:38 am

Re: Abinit 6.8.1 compile errors with libxc_mod.F90

Post by aeftimia » Mon Jul 18, 2011 6:07 pm

I had searched the web for weather to install in /usr or /usr/local, and what I found indicated that /usr is the usual standard for linux. You say however, that apt-get installs to /usr/local. Am I to conclude that I should install to /usr/local as a rule-of-thumb?

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

Re: Abinit 6.8.1 compile errors with libxc_mod.F90

Post by pouillon » Tue Jul 19, 2011 12:17 pm

To be clear: apt-get installs things in /usr, thus if you do so as well, what you install might be partly or totally overwritten whenever you run apt-get. Moreover, you will not be able to tell whether a file belongs to a binary package or a custom install of yours. In the worst case, this could even prevent the programs to work properly, because of the presence of conflicting data. that's why I consider it is a bad idea.

There are very detailed rules on where to put what under Unix-compliant systems. This is called the Filesystem Hierarchy Standard (FHS). you can access a summary and the full document by following these links:
Yann Pouillon
Simune Atomistics
Donostia-San Sebastián, Spain

Locked