Page 1 of 1

enable-etsf-io  [SOLVED]

Posted: Thu Jan 14, 2016 6:31 pm
by natalie
Using abinit 7.10.5, I would like to write out the full wavefunctions at the end of the calculation using
pawprtwf 1

However, when it came time to write out the wavefunctions, the program gave the error message:
message: |
ETSF-IO support must be enabled in order to output AE PAW wavefunction.
No output will be produced, use --enable-etsf-io at configure-time.

In fact, the first time I received that message, I did install etsf-io from the fall-back directory and changed the configure options accordingly. Perhaps there is something wrong with my configure options??? the beginning of the config.log is as follows:

../configure --prefix=/home/natalie/EL6/publiccode/abinit/abinit-7.10.5 --exec-prefix=/home/natalie/EL6/publiccode/abinit/abinit-7.10.5 --enable-mpi --with-mpi-prefix=/rhel6/opt/openmpi/1.6-intel --with-fft-flavor=fftw3-mkl --with-linalg-flavor=mkl --with-dft-flavor=libxc --with-libxc-incs=-I/home/natalie/EL6/publiccode/libxc/libxc-2.0.0/include --with-libxc-libs=-L/home/natalie/EL6/publiccode/libxc/libxc-2.0.0/lib -lxc --with-netcdf-incs=-I/home/natalie/EL6/publiccode/netcdf/netcdf-4.1.1/include --with-netcdf-libs=-L/home/natalie/EL6/publiccode/netcdf/netcdf-4.1.1/lib --with-etsf-io-incs=-I/home/natalie/EL6/publiccode/etsf_io/etsf_io-1.0.4/include --with-etsf-io-libs=-L/home/natalie/EL6/publiccode/etsf_io/etsf_io-1.0.4/lib FC=ifort CC=icc CPP=icc -E --no-create --no-recursion

Thanks in advance for any advice. Natalie

Re: enable-etsf-io

Posted: Mon Jan 18, 2016 11:38 am
by gmatteo
Dear Natalie,

Use --with-trio-flavor="etsf_io+netcdf" to enable ETSF-IO and netcdf support.
Please note that there's a problem in the specification of the link flags used for netcdf and etsf-io.
One should specify the name of the directory containing the libraries after the -L option (-Ldirectory_name)
as well as the libraries to be linked (-l option).

These are the flags I use to build abinit with etsf-io support:

--with-trio-flavor="netcdf+etsf_io"
--with-netcdf-libs="-L$HOME/Local/lib -lnetcdff -lnetcdf"
--with-etsf-io-libs="-L$HOME/Local/lib -letsf_io -letsf_io_low_level -letsf_io_utils"

In your case, $HOME/local/lib should be replaced with
-L/home/natalie/EL6/publiccode/netcdf/netcdf-4.1.1/lib
for the netcdf libs and with
-L/home/natalie/EL6/publiccode/etsf_io/etsf_io-1.0.4/lib
for the etsf-io-libs

At the end of the configuration, the configure script will give a summary with the most important options.
You should see something like

* TRIO flavor = netcdf+etsf_io

if the libraries have been correctly detected (Send me the full config.log file, if you continue to have problems with the configuration).

For more examples of configuration files, see the templates in ~abinit/doc/build/config-examples

Btw, if you use --with-trio-flavor="netcdf+etsf_io" without specifying --with-netcdf-libs and --with-etsf-io-libs,
the build system will try to activate the internal fallbacks. This option is handy if you don't want to compile your own libraries.

Best regards,
Matteo

Re: enable-etsf-io

Posted: Tue Jan 19, 2016 2:39 pm
by natalie
Thanks Matteo,
--with-trio-flavor="etsf_io+netcdf" worked well and seems to have solved the problem. With my open compiles of netcdf and etsf_io, it still did not work, but perhaps we can leave that mystery alone and get back to physics. Thanks so much for your help. Natalie