Compiling LSDalton with PCM Solver

Problems with Dalton installation? Find answers or ask for help here
esmuigors
Posts: 43
Joined: 14 Nov 2018, 17:54
First name(s): Igors
Middle name(s): N.
Last name(s): Mihailovs
Affiliation: Institute of Solid State Physics, University of Latvia
Country: Latvia

Re: Compiling LSDalton with PCM Solver

Post by esmuigors » 08 Jul 2019, 13:32

Running "git status" should produce output even if you do not have an internet connection. I've experienced before that it can take a long time on some machines but it should produce some output at some point. This output would be good to have just to be absolutely sure that the code is unchanged.
OK, I see.
Git reports that the file for pcmsolver has been changed (because I needed to enable C++11) and all the test files (because i had to copy them from the Dalton installation, as they were for some reason not included in the tarball; now I thick it was possibly because I might have cloned only the branch 'v2018.0' while the test files are more general).

Just in case, I will try to reclone the repository and compile it one more with Intel.
You already have a more or less successful build using gcc compilers on a different machine, right?
Right! I will try gcc now.
Attachments
git_output_build.vers5.out
(37.68 KiB) Downloaded 16 times

esmuigors
Posts: 43
Joined: 14 Nov 2018, 17:54
First name(s): Igors
Middle name(s): N.
Last name(s): Mihailovs
Affiliation: Institute of Solid State Physics, University of Latvia
Country: Latvia

Re: Compiling LSDalton with PCM Solver

Post by esmuigors » 08 Jul 2019, 18:20

A question from a rookie...

Our cluster has module system installed, and OpenMPI doesn't work if the Intel compiler module is unloaded (obviously because it was compiled with it). So I probably would have to compile OpenMPI again... but should I then change to this local version of OpenMPI every time I launch LSDalton? Because I am not a system administrator and cannot compile another module.

User avatar
magnus
Posts: 471
Joined: 27 Jun 2013, 16:32
First name(s): Jógvan Magnus
Middle name(s): Haugaard
Last name(s): Olsen
Affiliation: Hylleraas Centre, UiT The Arctic University of Norway
Country: Norway

Re: Compiling LSDalton with PCM Solver

Post by magnus » 08 Jul 2019, 19:09

Most likely there is also an MPI that works with the GCC compilers. Try running "module spider mpi" (or "module spider openmpi" if you're only interested in that implementation of MPI). That should give you a list modules containing the given string.

esmuigors
Posts: 43
Joined: 14 Nov 2018, 17:54
First name(s): Igors
Middle name(s): N.
Last name(s): Mihailovs
Affiliation: Institute of Solid State Physics, University of Latvia
Country: Latvia

Re: Compiling LSDalton with PCM Solver

Post by esmuigors » 09 Jul 2019, 12:07

Code: Select all

cmdTrace.c(713):ERROR:104: 'spider' is an unrecognized subcommand
cmdModule.c(411):ERROR:104: 'spider' is an unrecognized subcommand
Actually, module avail outputs just the following:

Code: Select all

-------------------------------------------------------------- /usr/share/Modules/modulefiles --------------------------------------------------------------
dot         module-git  module-info modules     null        use.own

--------------------------------------------------------------------- /etc/modulefiles ---------------------------------------------------------------------
compat-openmpi-psm-x86_64 compat-openmpi-x86_64     openmpi-x86_64

----------------------------------------------------------------- /usr/share/Modules/Lasc ------------------------------------------------------------------
crystal/17v1.0.1.ompi2.1.0.ORIG         crystal/crystal/17v1.0.2.ompi2.1.0.ORIG openmpi/1.6.5-64bit
crystal/17v1.0.2.ompi2.1.0.ORIG         intel/14.0.1                            openmpi/2.1.0
crystal/crystal/17v1.0.1.ompi2.1.0.ORIG intel/15.0.0                            openmpi/2.1.5

User avatar
magnus
Posts: 471
Joined: 27 Jun 2013, 16:32
First name(s): Jógvan Magnus
Middle name(s): Haugaard
Last name(s): Olsen
Affiliation: Hylleraas Centre, UiT The Arctic University of Norway
Country: Norway

Re: Compiling LSDalton with PCM Solver

Post by magnus » 09 Jul 2019, 12:10

Possibly the openmpi-x86_64 module is for GCC but in any case it looks like you also have intel/15.0.0, did you try using that compiler instead of the 15.0.0 version?

esmuigors
Posts: 43
Joined: 14 Nov 2018, 17:54
First name(s): Igors
Middle name(s): N.
Last name(s): Mihailovs
Affiliation: Institute of Solid State Physics, University of Latvia
Country: Latvia

Re: Compiling LSDalton with PCM Solver

Post by esmuigors » 09 Jul 2019, 13:25

Yes, that Intel 15.0 is a good idea...



Also, I feel like a complete idiot right now because I cannot compile LSDalton with Intel 14.00 from a freshly cloned repo. Setup stage proceeds flawlessly, but at some point make stops with the error:

Code: Select all

/home/igors/lsdalton/external/pcmsolver/src/cavity/GePolCavity.cpp(276): error: more than one instance of overloaded function "pcm::to_string" matches the a
rgument list:
            function "std::to_string(long double)"
            function "std::to_string(unsigned long long)"
            function "std::to_string(long long)"
            argument types are: (PCMSolverIndex)
        list_of_pairs += "(" + pcm::to_string(equal_elements[i].first) + ", " +
                               ^

/home/igors/lsdalton/external/pcmsolver/src/cavity/GePolCavity.cpp(277): error: more than one instance of overloaded function "pcm::to_string" matches the a
rgument list:
            function "std::to_string(long double)"
            function "std::to_string(unsigned long long)"
            function "std::to_string(long long)"
            argument types are: (PCMSolverIndex)
                         pcm::to_string(equal_elements[i].second) + ")\n";
                         ^

/home/igors/lsdalton/external/pcmsolver/src/cavity/GePolCavity.cpp(280): error: more than one instance of overloaded function "pcm::to_string" matches the argument list:
            function "std::to_string(long double)"
            function "std::to_string(unsigned long long)"
            function "std::to_string(long long)"
            argument types are: (size_t)
      std::string message = pcm::to_string(equal_elements.size()) +
                            ^

compilation aborted for /home/igors/lsdalton/external/pcmsolver/src/cavity/GePolCavity.cpp (code 2)
make[5]: *** [src/cavity/CMakeFiles/cavity.dir/GePolCavity.cpp.o] Error 2
make[4]: *** [src/cavity/CMakeFiles/cavity.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [external/pcmsolver-stamp/pcmsolver-build] Error 2
make[1]: *** [src/pcm/CMakeFiles/pcmsolver.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Source check returned:
('WARNING: no documentation found for this_is_separator in ', 'src/tensor_algebra_dil.F90', ' +2031')
('WARNING: no documentation found for this_is_letter in ', 'src/tensor_algebra_dil.F90', ' +2380')
('WARNING: no documentation found for split_argument in ', 'src/tensor_algebra_dil.F90', ' +4168')
('WARNING: no documentation found for get_next_mlndx in ', 'src/tensor_algebra_dil.F90', ' +4216')
('WARNING: no documentation found for Tile_precondition_doubles_unrest in ', 'src/tensor_pdm_operations_cc.F90', ' +1765')
('WARNING: no documentation found for Tile_precondition_doubles in ', 'src/tensor_pdm_operations_cc.F90', ' +1865')
TESTSTATUS: GOOD
make: *** [all] Error 2
Also, that GCC build failed with

Code: Select all

/home/igors/lsdalton/src/LSint/ThermiteTensor.F90:1719.12:

real(realk),pointer,contiguous :: elms(:,:,:)
            1
Error: Invalid character in name at (1)
/home/igors/lsdalton/src/LSint/ThermiteTensor.F90:1742.12:

real(realk),pointer,contiguous :: elms(:,:,:,:,:)
            1
Error: Invalid character in name at (1)
/home/igors/lsdalton/src/LSint/ThermiteTensor.F90:1716.34:

SUBROUTINE tt_assign_elms3(tt,elms)
                                  1
Error: Symbol 'elms' at (1) has no IMPLICIT type
/home/igors/lsdalton/src/LSint/ThermiteTensor.F90:1739.34:

SUBROUTINE tt_assign_elms5(tt,elms)
                                  1
Error: Symbol 'elms' at (1) has no IMPLICIT type
/home/igors/lsdalton/src/LSint/ThermiteTensor.F90:61.67:

   MODULE PROCEDURE tt_assign_elms1,tt_assign_elms3,tt_assign_elms5
                                                                   1
Error: Ambiguous interfaces 'tt_assign_elms5' and 'tt_assign_elms3' in generic interface 'tt_assign' at (1)
make[3]: *** [CMakeFiles/lsintlib.dir/src/LSint/ThermiteTensor.F90.o] Error 1
make[2]: *** [CMakeFiles/lsintlib.dir/src/LSint/ThermiteTensor.F90.o.provides] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/lsintlib.dir/all] Error 2
make: *** [all] Error 2
This OpenMPI version of that module is 1.8.1.
Last edited by esmuigors on 09 Jul 2019, 13:47, edited 1 time in total.

User avatar
magnus
Posts: 471
Joined: 27 Jun 2013, 16:32
First name(s): Jógvan Magnus
Middle name(s): Haugaard
Last name(s): Olsen
Affiliation: Hylleraas Centre, UiT The Arctic University of Norway
Country: Norway

Re: Compiling LSDalton with PCM Solver

Post by magnus » 09 Jul 2019, 13:28

Did you apply this change:
rob wrote:
17 Apr 2019, 15:54
Hi again, you need to edit this file:

Code: Select all

src/pcm/CMakeLists.txt
and set

Code: Select all

-DENABLE_CXX11_SUPPORT=ON
at line 23. The PCMSolver submodule own CMake system will check whether your compiler really supports C++11 (GCC 6.3.0 is fully compliant) and enable it.

esmuigors
Posts: 43
Joined: 14 Nov 2018, 17:54
First name(s): Igors
Middle name(s): N.
Last name(s): Mihailovs
Affiliation: Institute of Solid State Physics, University of Latvia
Country: Latvia

Re: Compiling LSDalton with PCM Solver

Post by esmuigors » 09 Jul 2019, 13:48

Yes, I did. No success. I even tried various ways to convey the location of boost libraries, to no avail.

esmuigors
Posts: 43
Joined: 14 Nov 2018, 17:54
First name(s): Igors
Middle name(s): N.
Last name(s): Mihailovs
Affiliation: Institute of Solid State Physics, University of Latvia
Country: Latvia

Re: Compiling LSDalton with PCM Solver

Post by esmuigors » 09 Jul 2019, 14:08

With Intel 15, there is another compilation error:

Code: Select all

/usr/include/c++/4.4.7/tuple(94): error: no instance of constructor "std::basic_string<_CharT, _Traits, _Alloc>::basic_string [with _CharT=char, _Traits=std::char_traits<char>, _Alloc=std::allocator<char>]" matches the argument list
            argument types are: (std::_Head_base<0UL, const char *, false>)
        : _M_head_impl(std::forward<_UHead>(__h)) { }
                      ^
          detected during:
            instantiation of "std::_Head_base<_Idx, _Head, false>::_Head_base(_UHead &&) [with _Idx=0UL, _Head=std::string, _UHead=std::_Head_base<0UL, const char *, false>]" at line 179
            instantiation of "std::_Tuple_impl<_Idx, _Head, _Tail...>::_Tuple_impl(std::_Tuple_impl<_Idx, _UElements...> &&) [with _Idx=0UL, _Head=std::string, _Tail=<std::vector<pcm::utils::Atom, std::allocator<pcm::utils::Atom>>>, _UElements=<const char *, std::vector<pcm::utils::Atom, std::allocator<pcm::utils::Atom>>>]" at line 338
            instantiation of "std::tuple<_T1, _T2>::tuple(std::tuple<_U1, _U2> &&) [with _T1=std::string, _T2=std::vector<pcm::utils::Atom, std::allocator<pcm::utils::Atom>>, _U1=const char *, _U2=std::vector<pcm::utils::Atom, std::allocator<pcm::utils::Atom>>]" at line 171 of "/home/igors/lsdalton/external/pcmsolver/src/utils/Atom.cpp"

compilation aborted for /home/igors/lsdalton/external/pcmsolver/src/utils/Atom.cpp (code 2)
make[5]: *** [src/utils/CMakeFiles/utils.dir/Atom.cpp.o] Error 2
make[4]: *** [src/utils/CMakeFiles/utils.dir/all] Error 2
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [all] Error 2
make[2]: *** [external/pcmsolver-stamp/pcmsolver-build] Error 2
make[1]: *** [src/pcm/CMakeFiles/pcmsolver.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Source check returned:
('WARNING: no documentation found for this_is_separator in ', 'src/tensor_algebra_dil.F90', ' +2031')
('WARNING: no documentation found for this_is_letter in ', 'src/tensor_algebra_dil.F90', ' +2380')
('WARNING: no documentation found for split_argument in ', 'src/tensor_algebra_dil.F90', ' +4168')
('WARNING: no documentation found for get_next_mlndx in ', 'src/tensor_algebra_dil.F90', ' +4216')
('WARNING: no documentation found for Tile_precondition_doubles_unrest in ', 'src/tensor_pdm_operations_cc.F90', ' +1765')
('WARNING: no documentation found for Tile_precondition_doubles in ', 'src/tensor_pdm_operations_cc.F90', ' +1865')
TESTSTATUS: GOOD
make: *** [all] Error 2
In case You missed my edit, GCC build also failed... I believe it's simply too old (4.4.7). :cry:

esmuigors
Posts: 43
Joined: 14 Nov 2018, 17:54
First name(s): Igors
Middle name(s): N.
Last name(s): Mihailovs
Affiliation: Institute of Solid State Physics, University of Latvia
Country: Latvia

Re: Compiling LSDalton with PCM Solver

Post by esmuigors » 09 Jul 2019, 16:35

I will contact one of the administrators and ask him to install newer version of gcc as a module. I think this is the best I can do right now.

xiongyan21
Posts: 170
Joined: 24 Sep 2014, 08:36
First name(s): yan
Last name(s): xiong
Affiliation: CENTRAL CHINA NORMAL UNIVERSITY
Country: China

Re: Compiling LSDalton with PCM Solver

Post by xiongyan21 » 23 Jul 2019, 04:44

It seems DIRAC17 has the similar problem:
Scanning dependencies of target pcmsolver

[ 0%] Creating directories for 'pcmsolver'

[ 0%] Performing download step (git clone) for 'pcmsolver'

CMake Error at pcmsolver-stamp/pcmsolver-download-release.cmake:16 (message):

Command failed: 1

...

make[2]: *** [external/pcmsolver/src/pcmsolver-stamp/pcmsolver-download] Error 1

make[1]: *** [src/pcm/CMakeFiles/pcmsolver.dir/all] Error 2

make: *** [all] Error 2

In a private letter to consult Prof. Jessen on Jan. 14th, 2018, he suggested
"Were you maybe not connected to the internet while you tried to compile ? I think it tried to download the PCM module from the internet when it failed.

You can also disable pcm if you do not need it."

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests