Hi Kenneth, in fact, I think I misunderstood the prebuilt packages and the build process.
I seems we first need to build the libint compiler, then the export library, then build that. The libint configure that is available after autogen.sh doesn't even know "--enable-fortran". Only the export package, which is also what is provided as "libint-cp2k". I'm currently looking into it. Greetings André ----- Am 29. Mai 2020 um 14:02 schrieb Kenneth Hoste kenneth.ho...@ugent.be: > 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 -- Dipl.-Inf. André Gemünd, Leiter IT / Head of IT Fraunhofer-Institute for Algorithms and Scientific Computing andre.gemu...@scai.fraunhofer.de Tel: +49 2241 14-2193 /C=DE/O=Fraunhofer/OU=SCAI/OU=People/CN=Andre Gemuend