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

Reply via email to