Page 1 of 1

link failure 8.8.4

Posted: Wed Apr 24, 2019 6:08 pm
by sprock
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

Re: link failure 8.8.4

Posted: Fri Apr 26, 2019 7:52 am
by ebousquet
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

Re: link failure 8.8.4  [SOLVED]

Posted: Fri Apr 26, 2019 2:09 pm
by sprock
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