On 29/05/2020 12:37, André Gemünd wrote:
Hi Kenneth,

I'm currently trying with the following and its building since roughly 2 hours, 
on a single core though although it was called with -j 32.

I'm seeing the same thing, I'm not sure you can make it build in parallel...

I also tried with lmax=4, and that finished building after ~45min only to fail in "make check" with:

In file included from ../../include/libint2/engine.h(988), from ../../include/libint2/cxxapi.h(41),                  from ../../include/libint2.hpp(24), from test.cc(24): ../../include/libint2/./engine.impl.h(627): error: identifier "LIBINT2_MAX_AM_default1" is undefined BOOST_PP_LIST_FOR_EACH_PRODUCT(
    ^

compilation aborted for test.cc (code 2)
make[1]: *** [test.o] Error 2


The generated configure command was using this:

--enable-eri=1 --enable-eri2=1 --enable-eri3=1 --with-max-am=4 --with-eri-max-am=4,3 --with-eri2-max-am=6,5 --with-eri3-max-am=6,5  --enable-shared  --with-pic


Should be OK, no?



easyblock = 'ConfigureMake'
name = 'Libint'
version = '2.6.0'

homepage = 'https://github.com/evaleev/libint'
description = """Libint library is used to evaluate the traditional (electron 
repulsion) and certain novel two-body
  matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and 
molecular theory."""

toolchain = {'name': 'foss', 'version': '2020a'}
toolchainopts = {'pic': True, 'cstd': 'c++11'}

source_urls = ['https://github.com/evaleev/libint/archive']
sources = ['v%(version)s.tar.gz']
checksums = ['4ae47e8f0b5632c3d2a956469a7920896708e9f0e396ec10071b8181e4c8d9fa']

builddependencies = [
     ('Autotools', '20180311'),
     ('GMP', '6.2.0'),
     ('Boost', '1.72.0'),
     ('Eigen', '3.3.7', '', True),
     ('MPFR', '4.0.2'),
     ('Python', '2.7.18'),
]

preconfigopts = './autogen.sh && '

_lmax = 7

# configure opts motivated by cp2k:
# https://github.com/cp2k/libint-cp2k/blob/master/Jenkinsfile
configopts = '--enable-fortran --enable-eri=1 --enable-eri2=1 --enable-eri3=1 \
                --with-max-am=%d \
                --with-eri-max-am=%d,%d \
                --with-eri2-max-am=%d,%d \
                --with-eri3-max-am=%d,%d \
                --with-opt-am=3 ' % (_lmax, _lmax, _lmax-1, _lmax+2, _lmax+1, 
_lmax+2, _lmax+1)

moduleclass = 'chem'

Greetings
André

----- Am 29. Mai 2020 um 11:35 schrieb Kenneth Hoste kenneth.ho...@ugent.be:

On 29/05/2020 10:46, André Gemünd wrote:
Hi Kenneth,

thanks for that. I'm at a similar point but using foss-2020a. I also wanted to
do Intel afterwards, but I thought I'd start with foss because I had some very
weird errors with CP2k and Intel in the past. I'm currently looking more
closely at Libint (https://github.com/evaleev/libint/wiki)

According to that and the buildflags the cp2k people use, we should be building
Libint with

--enable-eri=1 --enable-eri2=1 --enable-eri3=1 \
          --with-max-am=${LMAX} \
          --with-eri-max-am=${LMAX},$((LMAX-1)) \
          --with-eri2-max-am=$((LMAX+2)),$((LMAX+1)) \
          --with-eri3-max-am=$((LMAX+2)),$((LMAX+1)) \
          --with-opt-am=3

I don't see the easyblock doing that, or did I miss it?
That should be done in the Libint easyconfig, indeed, I'll look into
that as well.

I'm also wondering if it might make sense to put the lmax option in the name of
the package to be a bit more generic? On the other hand, increasing lmax
apparently only increases buildtime and library size (according to the README
here: https://github.com/cp2k/libint-cp2k). The cp2k guys themselves offer
prebuilt binaries for up to lmax 7, so maybe that should be our goto as well?
Enabling fortran is not a disadvantage for any other use, so that would be make
the library as generic as possible I guess?
I think it indeed makes perfect sense to "tag" Libint with versionsuffix
= '-lmax-7', and not hold back there, unless the build blows up to
taking hours and consuming GBs of disk space in the installation
directory (and even then...).

Also, it doesn't really matter, but is Python really needed as a builddep? I
guess I'll try it out.
It was added for a reason probably, but I can double check on that...

Could be to avoid relying on the system Python (which could also be
Python 3).


regards,

Kenneth

Cheers
André

----- Am 28. Mai 2020 um 22:13 schrieb Kenneth Hoste kenneth.ho...@ugent.be:

We have requests for CP2K 7.1, so it's on my TODO list.

I didn't get very far yet, but I'll share what I have:

* changes to CP2K easyblock:
https://github.com/easybuilders/easybuild-easyblocks/pull/2069

* easyconfigs for CP2K 7.1 + deps (doesn't work yet):
https://github.com/easybuilders/easybuild-easyconfigs/pull/10714

To test:

eb --include-easyblocks-from-pr 2069 --from-pr 10714 --robot


Any help is welcome :)


regards,

Kenneth

On 28/05/2020 15:55, André Gemünd wrote:
Dear Loris,

I just found this message from January because I was looking for CP2k 7.1 as
well. Did you make any progress with that?

Best Greetings
André

----- Am 27. Jan 2020 um 15:51 schrieb Loris Bennett loris.benn...@fu-berlin.de:

Hi,

I was wondering whether any work is going on regarding an EB/EC for CP2L
7.1.  The directory structure seems to have changed such that there is
no longer a directory 'makefiles' in the top-level directory, so this
bit of the EC

    def build_step(self):
          """Start the actual build
          - go into makefiles dir
          - patch Makefile
          -build_and_install
          """

          makefiles = os.path.join(self.cfg['start_dir'], 'makefiles')
          change_dir(makefiles)

fails.

Cheers,

Loris

--
Dr. Loris Bennett (Mr.)
ZEDAT, Freie Universität Berlin         Email loris.benn...@fu-berlin.de

Reply via email to