Boost/PCMSolver/LSDalton

Problems with Dalton installation? Find answers or ask for help here
Post Reply
taylor
Posts: 532
Joined: 15 Oct 2013, 05:37
First name(s): Peter
Middle name(s): Robert
Last name(s): Taylor
Affiliation: Tianjin University
Country: China

Boost/PCMSolver/LSDalton

Post by taylor » 08 Jul 2019, 19:19

I had originally posted the problem here in another topic that seemed closely related: in retrospect that was a bad move because my issue has diverged from the one in the original topic.

I am not able to build LSDalton with PCMSolver. Originally this appeared to be a problem with the local Boost installation, but the original errors disappeared when I followed Roberto's suggestion, forwarded by Magnus, to include
-DENABLE_CXX11_SUPPORT=ON in the file src/pcm/CMakeLists.txt. However, I then got the error
cd /home/taylor/src/2018/lsdalton/build_solv/external/pcmsolver-build/src/green && /apps/intelmpi/5.1/compilers_and_libraries_2016.0.109/linux/mpi/intel64/bin/mpiicpc -DHAS_CXX11 -DHAS_CXX11_AUTO -DHAS_CXX11_AUTO_RET_TYPE -DHAS_CXX11_CLASS_OVERRIDE -DHAS_CXX11_CONSTEXPR -DHAS_CXX11_CSTDINT_H -DHAS_CXX11_DECLTYPE -DHAS_CXX11_FUNC -DHAS_CXX11_INITIALIZER_LIST -DHAS_CXX11_LAMBDA -DHAS_CXX11_LONG_LONG -DHAS_CXX11_NOEXCEPT -DHAS_CXX11_NORETURN -DHAS_CXX11_NULLPTR -DHAS_CXX11_RVALUE_REFERENCES -DHAS_CXX11_SIZEOF_MEMBER -DHAS_CXX11_STATIC_ASSERT -DHAS_CXX11_VARIADIC_TEMPLATES -DPCMSolver_EXPORTS -DTAYLOR_CXXIO -DVAR_IFORT -I/home/taylor/src/2018/lsdalton/build_solv/external/pcmsolver-build/modules -I/home/taylor/src/2018/lsdalton/external/pcmsolver/api -isystem /home/taylor/src/2018/lsdalton/external/pcmsolver/external/eigen3/include/eigen3 -isystem /home/taylor/src/2018/lsdalton/external/pcmsolver/external/libtaylor -I/home/taylor/src/2018/lsdalton/external/pcmsolver/src -I/home/taylor/src/2018/lsdalton/build_solv/external/pcmsolver-build/include -I/home/taylor/src/2018/lsdalton/external/pcmsolver/include -isystem /home/taylor/src/2018/lsdalton/external/pcmsolver/src/utils/getkw -I/home/taylor/src/2018/lsdalton/external/pcmsolver/src/dielectric_profile -std=c++11 -O3 -DNDEBUG -fPIC -fvisibility=hidden -o CMakeFiles/green.dir/SphericalDiffuse.cpp.o -c /home/taylor/src/2018/lsdalton/external/pcmsolver/src/green/SphericalDiffuse.cpp
In file included from /usr/local/include/boost/noncopyable.hpp(15),
from /usr/local/include/boost/numeric/ublas/detail/config.hpp(23),
from /usr/local/include/boost/numeric/ublas/exception.hpp(19),
from /usr/local/include/boost/numeric/ublas/storage.hpp(25),
from /usr/local/include/boost/numeric/ublas/vector.hpp(21),
from /usr/local/include/boost/numeric/odeint/util/ublas_wrapper.hpp(23),
from /usr/local/include/boost/numeric/odeint.hpp(25),
from /home/taylor/src/2018/lsdalton/external/pcmsolver/src/green/InterfacesImpl.hpp(38),
from /home/taylor/src/2018/lsdalton/external/pcmsolver/src/green/SphericalDiffuse.hpp(42),
from /home/taylor/src/2018/lsdalton/external/pcmsolver/src/green/SphericalDiffuse.cpp(24):
/usr/local/include/boost/core/noncopyable.hpp(42): error: defaulted default constructor cannot be constexpr because the corresponding implicitly declared default constructor would not be constexpr
BOOST_CONSTEXPR noncopyable() = default;
^

compilation aborted for /home/taylor/src/2018/lsdalton/external/pcmsolver/src/green/SphericalDiffuse.cpp (code 2)


Magnus found that using my setup command
# setup command was executed 25-June-2019 14:22:01
./setup --fc=mpiifort --cc=mpiicc --cxx=mpiicpc --type=release --omp --scalapack --blacs intelmpi --explicit-libs=-lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -liomp5 -lpthread -lm -ldl --mkl=parallel -D ENABLE_DEC=ON -D ENABLE_PCMSOLVER=ON -DENABLE_CXX11_SUPPORT=ON build_solv

he could build the code, but his build detected no boost library and thus generated the necessary files itself. He speculated that including -DBUILD_CUSTOM_BOOST=ON in the PCM CMakeLists.txt file might force such a boost build, but it does not. Is there a way to force it? I cannot ask our sysadmins to uninstall Boost (v1.70, incidentally) because others may need it.

Best regards
Pete

taylor
Posts: 532
Joined: 15 Oct 2013, 05:37
First name(s): Peter
Middle name(s): Robert
Last name(s): Taylor
Affiliation: Tianjin University
Country: China

Re: Boost/PCMSolver/LSDalton

Post by taylor » 18 Jul 2019, 02:08

By getting our sysadmin to delete the installed boost (no idea whose work that might screw up, so it's not a permanent solution...) I can get the code to build using the above setup command. However, an attempt to use PCM functionality produces an error
Error: Error: Getkw::Getkw, line 34 in /home/taylor/src/upd2018/lsdalton/external/pcmsolver/src/utils/getkw/Getkw.cpp: Open failed: @pcmsolver.inp

I'm no C++ programmer, but looking at the code I am unsure where the "@" comes into the filename above. We do not delete scratch directories by default on our system, and a look in the scratch directory shows a file called "pcmsolver.inp" which has the correct contents.

Best regards
Pete

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest