link failure 8.8.4  [SOLVED]

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
sprock
Posts: 2
Joined: Wed Apr 24, 2019 5:48 pm

link failure 8.8.4

Post by sprock » Wed Apr 24, 2019 6:08 pm

Hello,

I'm trying to build version 8.8.4 on FreeBSD 11.2.

The build fails like this:

[/home/rmason/Software/Abinit/build-64/config/wrappers/wrap-mpiLFC -m64 -ffree-form -J/home/rmason/Software/Abinit/build-64/src/mods -O2 -mtune=native -march=native -m64 -g -ffree-line-length-none -O2 -g -Wall -Wno-maybe-uninitialized -ffpe-trap=invalid,zero,overflow -fbacktrace -pedantic -fcheck=all -fopenmp -m64 -g -ffree-line-length-none -O2 -g -Wall -Wno-maybe-uninitialized -ffpe-trap=invalid,zero,overflow -fbacktrace -pedantic -fcheck=all -fopenmp -o fold2Bloch fold2Bloch-fold2Bloch.o ../../src/84_fold2Bloch/lib84_fold2Bloch.a ../../src/67_common/lib67_common.a ../../src/66_wfs/lib66_wfs.a ../../src/66_nonlocal/lib66_nonlocal.a ../../src/65_paw/lib65_paw.a ../../src/64_psp/lib64_psp.a ../../src/64_atompaw/lib64_atompaw.a ../../src/62_wvl_wfs/lib62_wvl_wfs.a ../../src/62_poisson/lib62_poisson.a ../../src/62_iowfdenpot/lib62_iowfdenpot.a ../../src/62_ctqmc/lib62_ctqmc.a ../../src/61_occeig/lib61_occeig.a ../../src/59_ionetcdf/lib59_ionetcdf.a ../../src/57_iovars/lib57_iovars.a ../../src/57_iopsp_parser/lib57_iopsp_parser.a ../../src/56_xc/lib56_xc.a ../../src/56_recipspace/lib56_recipspace.a ../../src/56_mixing/lib56_mixing.a ../../src/56_io_mpi/lib56_io_mpi.a ../../src/54_abiutil/lib54_abiutil.a ../../src/53_ffts/lib53_ffts.a ../../src/53_spacepar/lib53_spacepar.a ../../src/52_fft_mpi_noabirule/lib52_fft_mpi_noabirule.a ../../src/51_manage_mpi/lib51_manage_mpi.a ../../src/49_gw_toolbox_oop/lib49_gw_toolbox_oop.a ../../src/45_geomoptim/lib45_geomoptim.a ../../src/44_abitypes_defs/lib44_abitypes_defs.a ../../src/43_wvl_wrappers/lib43_wvl_wrappers.a ../../src/43_ptgroups/lib43_ptgroups.a ../../src/42_parser/lib42_parser.a ../../src/42_nlstrain/lib42_nlstrain.a ../../src/42_libpaw/lib42_libpaw.a ../../src/41_xc_lowlevel/lib41_xc_lowlevel.a ../../src/41_geometry/lib41_geometry.a ../../src/32_util/lib32_util.a ../../src/28_numeric_noabirule/lib28_numeric_noabirule.a ../../src/27_toolbox_oop/lib27_toolbox_oop.a ../../src/21_hashfuncs/lib21_hashfuncs.a ../../src/20_datashare/lib20_datashare.a ../../src/18_timing/lib18_timing.a ../../src/17_libtetra_ext/lib17_libtetra_ext.a ../../src/16_hideleave/lib16_hideleave.a ../../src/14_hidewrite/lib14_hidewrite.a ../../src/12_hide_mpi/lib12_hide_mpi.a ../../src/11_qespresso_ext/lib11_qespresso_ext.a ../../src/11_memory_mpi/lib11_memory_mpi.a ../../src/10_dumpinfo/lib10_dumpinfo.a ../../src/10_defs/lib10_defs.a ../../src/02_clib/lib02_clib.a ../../src/01_linalg_ext/lib01_linalg_ext.a -L/usr/local/lib -lnetcdf -lnetcdff -L/home/rmason/Software/64-bit-install/lib -l:libpsml.a -lxmlf90 -L/home/rmason/Software/64-bit-install/libxc300/lib -lxc -lxcf90 -lxcf03 -L/usr/local/lib -lfftw3 -lfftw3f -L/usr/local/lib -lopenblas -lpthread -llapack -lscalapack -lrt -L/usr/local/mpi/openmpi2/lib -L/usr/local/lib/gcc8/gcc/x86_64-portbld-freebsd11.2/8.2.0 -L/usr/local/lib/gcc8/gcc/x86_64-portbld-freebsd11.2/8.2.0/../../.. -lmpi_usempi -lmpi_mpifh -lmpi -lgfortran -lm -lquadmath -lpthread -L/usr/local/mpi/openmpi2/lib -L/usr/local/lib/gcc8/gcc/x86_64-portbld-freebsd11.2/8.2.0 -L/usr/local/lib/gcc8/gcc/x86_64-portbld-freebsd11.2/8.2.0/../../.. -lmpi_usempi -lmpi_mpifh -lmpi -lgfortran -lm -lquadmath -lpthread
../../src/41_xc_lowlevel/lib41_xc_lowlevel.a(m_libxc_functionals.o): In function `__libxc_functionals_MOD_libxc_functionals_set_hybridparams':
/home/rmason/Software/Abinit/build-64/src/41_xc_lowlevel/../../../abinit-8.8.4/src/41_xc_lowlevel/m_libxc_functionals.F90:1737: undefined reference to `xc_hyb_gga_xc_hse_set_params'
/home/rmason/Software/Abinit/build-64/src/41_xc_lowlevel/../../../abinit-8.8.4/src/41_xc_lowlevel/m_libxc_functionals.F90:1720: undefined reference to `xc_hyb_gga_xc_pbeh_set_params'
../../src/41_xc_lowlevel/lib41_xc_lowlevel.a(m_libxc_functionals.o): In function `libxc_functionals_set_tb09':
/home/rmason/Software/Abinit/build-64/src/41_xc_lowlevel/../../../abinit-8.8.4/src/41_xc_lowlevel/m_libxc_functionals.F90:2004: undefined reference to `xc_mgga_x_tb09_set_params'
/home/rmason/Software/Abinit/build-64/src/41_xc_lowlevel/../../../abinit-8.8.4/src/41_xc_lowlevel/m_libxc_functionals.F90:2004: undefined reference to `xc_mgga_x_tb09_set_params'
../../src/41_xc_lowlevel/lib41_xc_lowlevel.a(m_libxc_functionals.o): In function `__libxc_functionals_MOD_libxc_functionals_init':
/home/rmason/Software/Abinit/build-64/src/41_xc_lowlevel/../../../abinit-8.8.4/src/41_xc_lowlevel/m_libxc_functionals.F90:592: undefined reference to `xc_lda_c_xalpha_set_params'
../../src/41_xc_lowlevel/lib41_xc_lowlevel.a(libxc_tools.o): In function `xc_get_info_refs':
/home/rmason/Software/Abinit/build-64/src/41_xc_lowlevel/../../../abinit-8.8.4/src/41_xc_lowlevel/libxc_tools.c:132: undefined reference to `xc_func_info_get_ref'
/home/rmason/Software/Abinit/build-64/src/41_xc_lowlevel/../../../abinit-8.8.4/src/41_xc_lowlevel/libxc_tools.c:133: undefined reference to `xc_func_info_get_ref']


I have the location of the libxc libraries in hostname.ac:

with_libxc_incs="-I/home/rmason/Software/64-bit-install/libxc300/include"
with_libxc_libs="-L/home/rmason/Software/64-bit-install/libxc300/lib -lxc -lxcf90 -lxcf03"


I have tried various ways of ordering the lxc, lxcf90 & lxcf03 libraries in the link line above.

I have checked for the (apparently) missing symbols in the XC libraries:

grep xc_hyb_gga_xc_hse_set_params ~/Software/64-bit-install/libxc300/lib/libxc*
Binary file /home/rmason/Software/64-bit-install/libxc300/lib/libxc.a matches
Binary file /home/rmason/Software/64-bit-install/libxc300/lib/libxc.so matches
Binary file /home/rmason/Software/64-bit-install/libxc300/lib/libxc.so.4 matches
Binary file /home/rmason/Software/64-bit-install/libxc300/lib/libxc.so.4.0.0 matches
Binary file /home/rmason/Software/64-bit-install/libxc300/lib/libxcf03.a matches
Binary file /home/rmason/Software/64-bit-install/libxc300/lib/libxcf03.so matches
Binary file /home/rmason/Software/64-bit-install/libxc300/lib/libxcf03.so.4 matches
Binary file /home/rmason/Software/64-bit-install/libxc300/lib/libxcf03.so.4.0.0 matches
Binary file /home/rmason/Software/64-bit-install/libxc300/lib/libxcf90.a matches
Binary file /home/rmason/Software/64-bit-install/libxc300/lib/libxcf90.so matches
Binary file /home/rmason/Software/64-bit-install/libxc300/lib/libxcf90.so.4 matches
Binary file /home/rmason/Software/64-bit-install/libxc300/lib/libxcf90.so.4.0.0 matches


Any help in diagnosing this will be most appreciated.

sprock

ebousquet
Posts: 469
Joined: Tue Apr 19, 2011 11:13 am
Location: University of Liege, Belgium

Re: link failure 8.8.4

Post by ebousquet » Fri Apr 26, 2019 7:52 am

Dear sprock,
I think this is because the v8.8.4 is not compatible with too recent version of libxc. Either you downgrad the libxc version or you upgrade to the latest version of Abinit.
Best wishes,
Eric

sprock
Posts: 2
Joined: Wed Apr 24, 2019 5:48 pm

Re: link failure 8.8.4  [SOLVED]

Post by sprock » Fri Apr 26, 2019 2:09 pm

Hello Eric,

That is indeed the case. I have libxc-4.2.3 installed as system package in /usr/local. I had specifically downloaded libxc-3.0.0 to build in my home directory for use with abinit. If I uninstall the system version of libxc, abinit compiles against the version in my home directory. What I don't understand is why the abinit build system finds libxc-4.2.3, when present, before the libxc-3.0.0 that I pointed it too.

At least now I know how to deal with this issue for 8.8.4 and I will try the latest abinit.

Many thanks,
sprock

Locked