Re: [easybuild] Re: Missing features in ABINIT/8.10.3-intel-2018b

2019-08-28 Thread Ole Holm Nielsen

Hi Yann,

I now have these lines in the .eb file:

# xml support
configopts += '--enable-xml '
configopts += 'CFLAGS_EXTRA="-I/usr/include/libxml2" '
configopts += 'CPPFLAGS_EXTRA="-I/usr/include/libxml2" '
configopts += 'FC_LIBS_EXTRA="-lxml2 -lz -lm -ldl" '

but unfortunately I still get the same error about the missing file:

mpiifort -DHAVE_CONFIG_H -I. -I../..  -I../../src/77_ddb 
-I../../src/77_ddb -I../../src/32_util -I../../src/32_util 
-I../../src/44_abitools -I../../src/44_abitools 
-I../../src/27_toolbox_oop -I../../src/27_toolbox_oop 
-I../../src/44_abitypes_defs -I../../src/44_abitypes_defs 
-I../../src/72_response -I../../src/72_response -I../../src/16_hideleave 
-I../../src/16_hideleave -I../../src/42_parser -I../../src/42_parser 
-I../../src/55_abiutil -I../../src/55_abiutil -I../../src/41_geometry 
-I../../src/41_geometry -I../../src/45_geomoptim 
-I../../src/45_geomoptim -I../../src/12_hide_mpi -I../../src/12_hide_mpi 
-I../../src/10_defs -I../../src/10_defs -I../../src/14_hidewrite 
-I../../src/14_hidewrite -I../../src/57_iovars -I../../src/57_iovars 
-I../../src/28_numeric_noabirule -I../../src/28_numeric_noabirule 
-I../../src/incs -I../../src/incs 
-I/home/modules/software/netCDF/4.6.1-intel-2018b/include 
-I/home/modules/software/netCDF-Fortran/4.4.4-intel-2018b/include 
-I/home/modules/build/ABINIT/8.10.3/intel-2018b/abinit-8.10.3/fallbacks/exports/include 
  -free -module 
/home/modules/build/ABINIT/8.10.3/intel-2018b/abinit-8.10.3/src/mods 
-O2 -xHost -ftz -fp-speculation=safe -fp-model source -fPIC -c -o 
m_spin_hist.o m_spin_hist.F90
mpiifort -DHAVE_CONFIG_H -I. -I../..  -I../../src/77_ddb 
-I../../src/77_ddb -I../../src/32_util -I../../src/32_util 
-I../../src/44_abitools -I../../src/44_abitools 
-I../../src/27_toolbox_oop -I../../src/27_toolbox_oop 
-I../../src/44_abitypes_defs -I../../src/44_abitypes_defs 
-I../../src/72_response -I../../src/72_response -I../../src/16_hideleave 
-I../../src/16_hideleave -I../../src/42_parser -I../../src/42_parser 
-I../../src/55_abiutil -I../../src/55_abiutil -I../../src/41_geometry 
-I../../src/41_geometry -I../../src/45_geomoptim 
-I../../src/45_geomoptim -I../../src/12_hide_mpi -I../../src/12_hide_mpi 
-I../../src/10_defs -I../../src/10_defs -I../../src/14_hidewrite 
-I../../src/14_hidewrite -I../../src/57_iovars -I../../src/57_iovars 
-I../../src/28_numeric_noabirule -I../../src/28_numeric_noabirule 
-I../../src/incs -I../../src/incs 
-I/home/modules/software/netCDF/4.6.1-intel-2018b/include 
-I/home/modules/software/netCDF-Fortran/4.4.4-intel-2018b/include 
-I/home/modules/build/ABINIT/8.10.3/intel-2018b/abinit-8.10.3/fallbacks/exports/include 
  -free -module 
/home/modules/build/ABINIT/8.10.3/intel-2018b/abinit-8.10.3/src/mods 
-O2 -xHost -ftz -fp-speculation=safe -fp-model source -fPIC -c -o 
m_spin_reciprocal.o m_spin_reciprocal.F90
m_multibinit_dataset.F90(2032): remark #8291: Recommended relationship 
between field width 'W' and the number of fractional digits 'D' in this 
edit descriptor is 'W>=D+7'.


if(multibinit_dtset%strcpling==2)write(nunit,'(3x,a9,3es8.2)')'delta_df',multibinit_dtset%delta_df
---^
effpot_xml.c(29): catastrophic error: cannot open source file 
"libxml/parser.h"

  #include 
^

compilation aborted for effpot_xml.c (code 4)

Do you have any other suggestions?

Thanks,
Ole


On 8/28/19 12:42 PM, Yann Pouillon wrote:

On Wed, 28 Aug 2019 12:11:44 +0200
Ole Holm Nielsen  wrote:


Unfortunately, the build now crashes with this error in the log file:

[...]

---^
effpot_xml.c(29): catastrophic error: cannot open source file
"libxml/parser.h"
#include 
  ^
compilation aborted for effpot_xml.c (code 4)

The missing source file libxml/parser.h is actually installed on the system:

$ rpm -qf /usr/include/libxml2/libxml/parser.h
libxml2-devel-2.9.1-6.el7_2.3.x86_64

Could you kindly suggest some additional configopts to solve this problem?


I hadn't realized this is ABINIT 8.10.3, where the build system still has
some issues with mixing C and Fortran.

The following configopt might help:

   CPPFLAGS_EXTRA="-I/usr/include/libxml2"

It will be automatically searched for in future versions.


Re: [easybuild] Re: Missing features in ABINIT/8.10.3-intel-2018b

2019-08-28 Thread Yann Pouillon
On Wed, 28 Aug 2019 12:11:44 +0200
Ole Holm Nielsen  wrote:

> Unfortunately, the build now crashes with this error in the log file:
> 
> [...]
> 
> ---^
> effpot_xml.c(29): catastrophic error: cannot open source file 
> "libxml/parser.h"
>#include 
>  ^
> compilation aborted for effpot_xml.c (code 4)
> 
> The missing source file libxml/parser.h is actually installed on the system:
> 
> $ rpm -qf /usr/include/libxml2/libxml/parser.h
> libxml2-devel-2.9.1-6.el7_2.3.x86_64
> 
> Could you kindly suggest some additional configopts to solve this problem?

I hadn't realized this is ABINIT 8.10.3, where the build system still has
some issues with mixing C and Fortran.

The following configopt might help:

  CPPFLAGS_EXTRA="-I/usr/include/libxml2"

It will be automatically searched for in future versions.

Best regards,

Yann.


Re: [easybuild] Re: Missing features in ABINIT/8.10.3-intel-2018b

2019-08-28 Thread Ole Holm Nielsen

Hi Yann,

Thanks very much for your insightful advice!  I've modified 
ABINIT-8.10.3-intel-2018b.eb to contain flags pointing to the CentOS 
system libxml2 headers:


dependencies = [
('libxc', '3.0.1'),
('netCDF', '4.6.1'),
('netCDF-Fortran', '4.4.4'),
('HDF5', '1.10.2'),
('Wannier90', '2.0.1.1', '-abinit'),
('AtomPAW', '4.1.0.5'),
]

# ensure mpi and intel toolchain
configopts = '--enable-mpi '

# xml support
configopts += '--enable-xml '
configopts += 'CFLAGS_EXTRA="-I/usr/include/libxml2" '
configopts += 'FC_LIBS_EXTRA="-lxml2 -lz -lm -ldl" '

# openmp support
configopts += '--enable-openmp '
...

The RPM packages were already installed on our CentOS 7.6 system:

$ rpm -q libxml2 libxml2-devel
libxml2-2.9.1-6.el7_2.3.x86_64
libxml2-devel-2.9.1-6.el7_2.3.x86_64

Unfortunately, the build now crashes with this error in the log file:

mpiifort -DHAVE_CONFIG_H -I. -I../..  -I../../src/77_ddb 
-I../../src/77_ddb -I../../src/32_util -I../../src/32_util 
-I../../src/44_abitools -I../../src/44_abitools 
-I../../src/27_toolbox_oop -I../../src/27_toolbox_oop 
-I../../src/44_abitypes_defs -I../../src/44_abitypes_defs 
-I../../src/72_response -I../../src/72_response -I../../src/16_hideleave 
-I../../src/16_hideleave -I../../src/42_parser -I../../src/42_parser 
-I../../src/55_abiutil -I../../src/55_abiutil -I../../src/41_geometry 
-I../../src/41_geometry -I../../src/45_geomoptim 
-I../../src/45_geomoptim -I../../src/12_hide_mpi -I../../src/12_hide_mpi 
-I../../src/10_defs -I../../src/10_defs -I../../src/14_hidewrite 
-I../../src/14_hidewrite -I../../src/57_iovars -I../../src/57_iovars 
-I../../src/28_numeric_noabirule -I../../src/28_numeric_noabirule 
-I../../src/incs -I../../src/incs 
-I/home/modules/software/netCDF/4.6.1-intel-2018b/include 
-I/home/modules/software/netCDF-Fortran/4.4.4-intel-2018b/include 
-I/home/modules/build/ABINIT/8.10.3/intel-2018b/abinit-8.10.3/fallbacks/exports/include 
  -free -module 
/home/modules/build/ABINIT/8.10.3/intel-2018b/abinit-8.10.3/src/mods 
-O2 -xHost -ftz -fp-speculation=safe -fp-model source -fPIC -c -o 
m_spin_reciprocal.o m_spin_reciprocal.F90
m_multibinit_dataset.F90(2032): remark #8291: Recommended relationship 
between field width 'W' and the number of fractional digits 'D' in this 
edit descriptor is 'W>=D+7'.


if(multibinit_dtset%strcpling==2)write(nunit,'(3x,a9,3es8.2)')'delta_df',multibinit_dtset%delta_df
---^
effpot_xml.c(29): catastrophic error: cannot open source file 
"libxml/parser.h"

  #include 
^
compilation aborted for effpot_xml.c (code 4)

The missing source file libxml/parser.h is actually installed on the system:

$ rpm -qf /usr/include/libxml2/libxml/parser.h
libxml2-devel-2.9.1-6.el7_2.3.x86_64

Could you kindly suggest some additional configopts to solve this problem?

Thanks a lot,
Ole

On 8/27/19 11:33 PM, Yann Pouillon wrote:

Dear Ole,

If you use the --enable-xml option, the configure script of ABINIT assumes
that you have the development files of LibXML2 installed on your system.

I don't know if there is a specific EasyConfig for LibXML2 or if this should
be marked as "system dependency". In any case, EasyBuild should be informed
that the XML header files are required.





Re: [easybuild] Re: Missing features in ABINIT/8.10.3-intel-2018b

2019-08-28 Thread Yann Pouillon
Dear Ole,

If you use the --enable-xml option, the configure script of ABINIT assumes
that you have the development files of LibXML2 installed on your system.

I don't know if there is a specific EasyConfig for LibXML2 or if this should
be marked as "system dependency". In any case, EasyBuild should be informed
that the XML header files are required.

Best regards,

Yann.


[easybuild] Re: Missing features in ABINIT/8.10.3-intel-2018b

2019-08-27 Thread Ole Holm Nielsen

Hi Jean-Michel,

Our user requiring ABINIT with XML has now hit a new error:

--- !ERROR
src_file: m_pspheads.F90
src_line: 226
mpi_rank: 0
message: |
XML norm-conserving pseudopotential has been input, but abinit is 
not compiled with libPSML support. Reconfigure and recompile.

...

Question: How do I build ABINIT with libpsml support?

I noticed that EB includes an old libpsml version:

$ eb -S libpsml
CFGS1=/home/modules/software/EasyBuild/3.9.4/lib/python2.7/site-packages/easybuild_easyconfigs-3.9.4-py2.7.egg/easybuild/easyconfigs/l/libpsml
 * $CFGS1/libpsml-1.1.7-foss-2016b.eb
 * $CFGS1/libpsml-1.1.7-foss-2017a.eb

Maybe such a module could be used?

Thanks,
Ole

On 8/27/19 12:47 PM, Ole Holm Nielsen wrote:

Hi Jean-Michel,

On 8/27/19 11:24 AM, Jean-Michel Beuken wrote:

it seems a problem of dependency...

you need to install  ( for CentOS )

libxml2-2.9.1-6.el7_2.3.x86_64
libxml2-devel-2.9.1-6.el7_2.3.x86_64

and add this two environment variables in the config file

configopts += 'CFLAGS_EXTRA="-I/usr/include/libxml2" '
configopts += 'FC_LIBS_EXTRA="-lxml2 -lz -lm -ldl" '


Actually we already have the libxml2 EB module installed, so I changed 
ABINIT-8.10.3-intel-2018b.eb to contain an extra line for a libxml2 
dependency and added your suggested configopts lines:


...
dependencies = [
     ('libxc', '3.0.1'),
     ('netCDF', '4.6.1'),
     ('netCDF-Fortran', '4.4.4'),
     ('HDF5', '1.10.2'),
     ('Wannier90', '2.0.1.1', '-abinit'),
     ('AtomPAW', '4.1.0.5'),
     ('libxml2', '2.9.8'),
]

# ensure mpi and intel toolchain
configopts = '--enable-mpi '

# xml support
configopts += '--enable-xml '
configopts += 'FC_LIBS_EXTRA="-lxml2 -lz -lm -ldl" '

# openmp support
configopts += '--enable-openmp '
...

Now ABINIT builds successfully!  Do you think it is a good idea to add 
the XML support to the ABINIT .eb file in EasyBuild?


Thanks a lot for your support!

Best regards,
Ole


[easybuild] Re: Missing features in ABINIT/8.10.3-intel-2018b

2019-08-27 Thread Ole Holm Nielsen

Hi Jean-Michel,

On 8/27/19 11:24 AM, Jean-Michel Beuken wrote:

it seems a problem of dependency...

you need to install  ( for CentOS )

libxml2-2.9.1-6.el7_2.3.x86_64
libxml2-devel-2.9.1-6.el7_2.3.x86_64

and add this two environment variables in the config file

configopts += 'CFLAGS_EXTRA="-I/usr/include/libxml2" '
configopts += 'FC_LIBS_EXTRA="-lxml2 -lz -lm -ldl" '


Actually we already have the libxml2 EB module installed, so I changed 
ABINIT-8.10.3-intel-2018b.eb to contain an extra line for a libxml2 
dependency and added your suggested configopts lines:


...
dependencies = [
('libxc', '3.0.1'),
('netCDF', '4.6.1'),
('netCDF-Fortran', '4.4.4'),
('HDF5', '1.10.2'),
('Wannier90', '2.0.1.1', '-abinit'),
('AtomPAW', '4.1.0.5'),
('libxml2', '2.9.8'),
]

# ensure mpi and intel toolchain
configopts = '--enable-mpi '

# xml support
configopts += '--enable-xml '
configopts += 'FC_LIBS_EXTRA="-lxml2 -lz -lm -ldl" '

# openmp support
configopts += '--enable-openmp '
...

Now ABINIT builds successfully!  Do you think it is a good idea to add 
the XML support to the ABINIT .eb file in EasyBuild?


Thanks a lot for your support!

Best regards,
Ole

--
Ole Holm Nielsen
PhD, Senior HPC Officer
Department of Physics, Technical University of Denmark


[easybuild] Re: Missing features in ABINIT/8.10.3-intel-2018b

2019-08-27 Thread Ole Holm Nielsen

Hi Jean-Michel,

Thanks very much for your fine analysis of our user's attempts to 
configure ABINIT (incorrectly, as it turned out)!  I have made a copy of 
the ABINIT-8.10.3-intel-2018b.eb file and added the two configopts which 
you recommend below.


Unfortunately it seems that I miss something because the build fails due 
to a missing source file "libxml/parser.h".  Error messages in the log 
file are:


mpiifort -DHAVE_CONFIG_H -I. -I../..  -I../../src/77_ddb 
-I../../src/77_ddb -I../../src/32_util -I../../src/32_util 
-I../../src/44_abitools -I../../src/44_abitools 
-I../../src/27_toolbox_oop -I../../src/27_toolbox_oop 
-I../../src/44_abitypes_defs -I../../src/44_abitypes_defs 
-I../../src/72_response -I../../src/72_response -I../../src/16_hideleave 
-I../../src/16_hideleave -I../../src/42_parser -I../../src/42_parser 
-I../../src/55_abiutil -I../../src/55_abiutil -I../../src/41_geometry 
-I../../src/41_geometry -I../../src/45_geomoptim 
-I../../src/45_geomoptim -I../../src/12_hide_mpi -I../../src/12_hide_mpi 
-I../../src/10_defs -I../../src/10_defs -I../../src/14_hidewrite 
-I../../src/14_hidewrite -I../../src/57_iovars -I../../src/57_iovars 
-I../../src/28_numeric_noabirule -I../../src/28_numeric_noabirule 
-I../../src/incs -I../../src/incs 
-I/home/modules/software/netCDF/4.6.1-intel-2018b/include 
-I/home/modules/software/netCDF-Fortran/4.4.4-intel-2018b/include 
-I/home/modules/build/ABINIT/8.10.3/intel-2018b/abinit-8.10.3/fallbacks/exports/include 
  -free -module 
/home/modules/build/ABINIT/8.10.3/intel-2018b/abinit-8.10.3/src/mods 
-O2 -xHost -ftz -fp-speculation=safe -fp-model source -fPIC -c -o 
m_mathfuncs.o m_mathfuncs.F90
effpot_xml.c(29): catastrophic error: cannot open source file 
"libxml/parser.h"

  #include 
^
compilation aborted for effpot_xml.c (code 4)

Can you help adding the missing file to the build somehow?

Thanks a lot,
Ole


On 8/26/19 6:45 PM, Jean-Michel Beuken wrote:

Add blue lines in ABINIT/8.10.3-intel-2018b config

-

# ensure mpi and intel toolchain
configopts = '--enable-mpi '

*# xml support*
*configopts += '--enable-xml '*
*
*
*# openmp support*
*configopts += '--enable-openmp '*

# linalg & fft




--
Ole Holm Nielsen
PhD, Senior HPC Officer
Department of Physics, Technical University of Denmark


[easybuild] Re: Missing features in ABINIT/8.10.3-intel-2018b

2019-08-26 Thread Jean-Michel Beuken
Hi Ole,

Could I ask any ABINIT/EasyBuild experts out there for help in adding some 
features to the ABINIT/8.10.3-intel-2018b module installed with EasyBuild?

We have an ABINIT user who wrote to me about some features which he is missing, 
and which were apparently described during the "ABINIT Hands-on 2019" session 
named "Installing ABINIT”:

very strange configure command !
some mistakes...

But for PAW based datasets only ‘.xml’ formatted pseudopotentials are 
available. So we need to activate ‘xml’ during configure. Listed below please 
find suggested setups during configure (xml, LAPACK, libxc are necessary, mpi 
and OpenMP are suggested and can work together, I'm not sure the compilers, 
CXX=mpicxx, FC=mpif90, CC=mpicc are suitable for our platform or not):
./configure --prefix=/path/to/be/installed \
--enable-xml=yes \
--enable-LAPACK=yes \
--enable-libxc=yes \
--enable-mpi=yes \
--enable-OpenMP=yes \
--enable-FFTW=yes \
--enable-64bit-flags \
--enable-netcdf=yes \
--with-dft-flavor=libxc \
--with-linalg-flavor=netCDF \
--enable-bigdft=yes \
--with-trio-flavor=netcdf \
--with-timer-flavor=abinit \
CXX=mpicxx FC=mpif90 CC=mpicc \

here, a working configure cmd :

./configure --prefix=/tmp \
--enable-xml \
--enable-mpi \
--enable-mpi-io \
--enable-openmp \
--with-dft-flavor=libxc+bigdft \
--with-trio-flavor=netcdf \
--with-linalg-flavor=netlib \
CXX=mpiicpc FC=mpiifort CC=mpiicc( module load intel/2018b )


here, some bad options :

#--enable-bigdft=yes \wrong option ( see --with-dft-flavor )
#--enable-netcdf=yes \wrong option ( see --with-trio-flavor )
#--with-timer-flavor=abinit \ default
#--enable-FFTW=yes \  wrong option ( see —with-fft- )
#--enable-LAPACK=yes \wrong option
#--enable-libxc=yes \ wrong option ( see --with-dft-flavor )
#--with-linalg-flavor=netCDF \wrong -> netlib
#--enable-64bit-flags \


I'm not sure if this request is simple to satisfy, and whether one just needs 
to add something to the file $CFGS1/a/ABINIT/ABINIT-8.10.3-intel-2018b.eb.  
Under any circumstances I need an ABINIT expert to review the above request and 
suggest possible ways in which we can satisfy our user.

Add blue lines in ABINIT/8.10.3-intel-2018b config

-

# ensure mpi and intel toolchain
configopts = '--enable-mpi '

# xml support
configopts += '--enable-xml '

# openmp support
configopts += '--enable-openmp '

# linalg & fft

---


there is no easyconfig for bigDFT


Regards

jmb



[UCL]
Jean-Michel Beuken
Computer Scientist
Software Engineer for ABINIT.ORG and ETSF.EU
pôle MODL / IMCN / SST
Chemin des Etoiles, 8  boite L7.03.01
B-1348 Louvain-la-Neuve
Tel. +32 (010) 47 35 70   web 
site

[UCL]