Molcas Forum

Support and discussions for Molcas and OpenMolcas users and developers

You are not logged in.

Announcement

Welcome to the Molcas forum. You can choose an avatar and change the default style by going to "Profile" → "Personality" or "Display".

#1 2021-08-18 00:01:19

martijn
Member
Registered: 2021-08-17
Posts: 1

OpenMolcas make failure: undefined reference to `fcntl64@GLIBC_2.28'

Hi,

I'm trying to build OpenmMlcas on my Ubuntu 18.04 workstation with support for QCMarquis

cmake ../MOLCAS_src/ -DDMRG=ON -DNEVPT2=ON

but encounter a fatal problem at the make stage:

Built target maquis_dmrg
[ 92%] Building CXX object applications/dmrg/CMakeFiles/dmrg.dir/dmrg.cpp.o
[ 94%] Linking CXX executable dmrg
/home/martijn/bin/hdf/HDF5-1.12.1-Linux/HDF_Group/HDF5/1.12.1/lib/libhdf5.so.200.1.0: undefined reference to `fcntl64@GLIBC_2.28'
/home/martijn/bin/hdf/HDF5-1.12.1-Linux/HDF_Group/HDF5/1.12.1/lib/libhdf5.so.200.1.0: undefined reference to `pow@GLIBC_2.29'
collect2: error: ld returned 1 exit status
applications/dmrg/CMakeFiles/dmrg.dir/build.make:119: recipe for target 'applications/dmrg/dmrg' failed
make[5]: *** [applications/dmrg/dmrg] Error 1
CMakeFiles/Makefile2:398: recipe for target 'applications/dmrg/CMakeFiles/dmrg.dir/all' failed
make[4]: *** [applications/dmrg/CMakeFiles/dmrg.dir/all] Error 2
Makefile:135: recipe for target 'all' failed
make[3]: *** [all] Error 2
External/qcmaquis/CMakeFiles/qcmaquis.dir/build.make:88: recipe for target 'External/qcmaquis/src/qcmaquis-stamp/qcmaquis-build' failed
make[2]: *** [External/qcmaquis/src/qcmaquis-stamp/qcmaquis-build] Error 2CMakeFiles/Makefile2:2498: recipe for target 'External/qcmaquis/CMakeFiles/qcmaquis.dir/all' failed
make[1]: *** [External/qcmaquis/CMakeFiles/qcmaquis.dir/all] Error 2Makefile:145: recipe for target 'all' failedmake: *** [all] Error 2

I use the standard gcc, g++ and gfortran that come with Ubuntu 18.04 and similarly most of the  prerequisite, i.e. GSL, BOOST, are the standard versions installed using apt. The only exception being HDF5. CMake doesn't like the HDF5 version that comes with Ubuntu 18.04:

This HDF5 version  ((1.10.0.1) is not supported by QCMaquis)

So I manually downloaded and installed the latest version of HDF5 (HDF5-1.12.1) from the HDF website and use that. CMake seems perfectly happy with it but Make less so, resulting in the error above.

The same error also pops up when I make straight OpenMolcas (i.e. without the DMRG and NVEPT2 options) but in another place:

[ 67%] Building Fortran object CMakeFiles/caspt2/CMakeFiles/caspt2_obj.dir/wgtinit.F90.o
[ 67%] Building Fortran object CMakeFiles/caspt2/CMakeFiles/caspt2_obj.dir/xdwinit.f.o
[ 67%] Built target caspt2_obj
[ 67%] Linking Fortran static library ../../lib/libcaspt2.a
[ 67%] Built target caspt2
Scanning dependencies of target caspt2.exe
[ 67%] Building Fortran object CMakeFiles/caspt2/CMakeFiles/caspt2.exe.dir/main.f.o
[ 67%] Linking Fortran executable ../../bin/caspt2.exe
/home/martijn/bin/hdf/HDF5-1.12.1-Linux/HDF_Group/HDF5/1.12.1/lib/libhdf5.so.200.1.0: undefined reference to `fcntl64@GLIBC_2.28'
/home/martijn/bin/hdf/HDF5-1.12.1-Linux/HDF_Group/HDF5/1.12.1/lib/libhdf5.so.200.1.0: undefined reference to `pow@GLIBC_2.29'
collect2: error: ld returned 1 exit status
CMakeFiles/caspt2/CMakeFiles/caspt2.exe.dir/build.make:100: recipe for target 'bin/caspt2.exe' failed
make[2]: *** [bin/caspt2.exe] Error 1
CMakeFiles/Makefile2:4122: recipe for target 'CMakeFiles/caspt2/CMakeFiles/caspt2.exe.dir/all' failed
make[1]: *** [CMakeFiles/caspt2/CMakeFiles/caspt2.exe.dir/all] Error 2
Makefile:145: recipe for target 'all' failed
make: *** [all] Error 2

I tried manually adding paths to HDF5 libraries via adding:

 -D HDF5_LIBRARIES:PATH=~/bin/hdf/HDF5-1.12.1-Linux/HDF_Group/HDF5/1.12.1/lib/ -D HDF5_C_LIBRARIES:PATH=~/bin/hdf/HDF5-1.12.1-Linux/HDF_Group/HDF5/1.12.1/lib/ -D HDF5_CXX_LIBRARIES:PATH=~/bin/hdf/HDF5-1.12.1-Linux/HDF_Group/HDF5/1.12.1/lib/ ...

as CMake options to see if that made a difference, based on another thread here, but it didn't make fails exactly in the same way. Also CMake, see below, seems to pick up HDF5 finr.

I'm curious if anyone has seen this before and knows how to get round this problem.

Thanks in advance,

Martijn

P.S. This is the cmake output:

cmake ../MOLCAS_src/ -DDMRG=ON -DNEVPT2=ON   
-- The Fortran compiler identification is GNU 7.5.0
-- The C compiler identification is GNU 7.5.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /usr/bin/f95 - skipped
-- Checking whether /usr/bin/f95 supports Fortran 90
-- Checking whether /usr/bin/f95 supports Fortran 90 - yes
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.6.9", minimum required is "3.0") 
Configuring compilers:
-- The CXX compiler identification is GNU 7.5.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Detecting Molcas version info:
-- OPENMOLCAS_VERSION: v21.06-104-gc8831e78a
Detecting system info:
-- OS: Linux-x86_64
-- ADDRMODE: 64
-- PLATFORM: LINUX64
Configuring HDF5 support:
-- Found HDF5: hdf5::hdf5-shared;hdf5::hdf5_cpp-shared (found version "1.12.1") found components: C CXX 
-- HDF5_INCLUDE_DIRS: /home/martijn/bin/hdf/HDF5-1.12.1-Linux/HDF_Group/HDF5/1.12.1/include
-- HDF5_C_LIBRARIES: hdf5::hdf5-shared
-- HDF5_CXX_LIBRARIES: hdf5::hdf5_cpp-shared
Configuring linear algebra libraries:
-- Using internal LAPACK+BLAS libraries (SLOW!)
-- LINALG_LIBRARIES: lapack;blas
Gromacs interface DISABLED
BLOCK interface DISABLED
CHEMPS2 interface DISABLED
MSYM support DISABLED
Configuring QCMaquis DMRG support:
Check for cmake-configured HDF5
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Found GSL: /usr/include (found version "2.4") 
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found Boost: /usr/include (found suitable version "1.65.1", minimum required is "1.56") found components: program_options filesystem system serialization thread chrono date_time atomic 
Enabled QCMaquis DMRG support.
-- QCMaquis libraries: qcmaquis-driver;maquis_dmrg;/home/martijn/bin/MOLCAS_build/qcmaquis/lib/libalps.so;/home/martijn/bin/MOLCAS_build/qcmaquis/lib/libdmrg_models.a;/home/martijn/bin/MOLCAS_build/qcmaquis/lib/libdmrg_utils.a;/usr/lib/x86_64-linux-gnu/libgsl.so;/usr/lib/x86_64-linux-gnu/libgslcblas.so;/usr/lib/x86_64-linux-gnu/libboost_program_options.so;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;/usr/lib/x86_64-linux-gnu/libboost_system.so;/usr/lib/x86_64-linux-gnu/libboost_serialization.so;/usr/lib/x86_64-linux-gnu/libboost_thread.so;-lpthread;/usr/lib/x86_64-linux-gnu/libboost_chrono.so;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;/usr/lib/x86_64-linux-gnu/libboost_atomic.so
-- HDF5 QCMaquis include path: /home/martijn/bin/MOLCAS_build/CMakeFiles/mod
-- HDF5 QCMaquis libraries: qcmaquis-hdf5-interface
NECI interface DISABLED
EFP interface DISABLED
GEN1INT support DISABLED
libwfa support DISABLED
Configuring NEVPT2:
-- NEVPT2_LIBRARIES: /home/martijn/bin/MOLCAS_build/External/nevpt2_ext/src/nevpt2_ext-build/libqdnevpt2.a;lapack;blas;/home/martijn/bin/MOLCAS_build/External/nevpt2_ext/src/nevpt2_ext-build/libAUXLIB_F.a
MolGUI DISABLED
Configuring runtime environment settings:
-- DEFMOLCASMEM:  2048
-- DEFMOLCASDISK: 20000
-- RUNSCRIPT:    $program $input
-- RUNBINARY:    $program
-- RUNBINARYSER: $program
Build type: Release
-- C compiler: /usr/bin/cc
-- C compiler flags:  -std=gnu99  -O2
-- Fortran compiler: /usr/bin/f95
-- Fortran compiler flags:  -fno-aggressive-loop-optimizations -cpp -fdefault-integer-8 -fmax-stack-var-size=1048576 -O2
-- Definitions: _MOLCAS_;_I8_;_LINUX_
-- Debug definitions: 
-- pymolcas: added to targets
Definitions: -D_MOLCAS_;-D_I8_;-D_LINUX_
Configuring documentation
-- Sphinx compiler: no sphinx-build available, documentation disabled
Install directory: /opt/OpenMolcas
-- Configuring done
-- Generating done
-- Build files have been written to: /home/martijn/bin/MOLCAS_build

Last edited by martijn (2021-08-18 09:13:18)

Offline

Board footer

Powered by FluxBB

Last refresh: Today 19:07:23