[Debichem-devel] Bug#837532: Bug#837532: mpqc3: FTBFS (Libint library is too old: a recent beta of 2.1.0 is required)

Michael Banck mbanck at debian.org
Sat Oct 1 14:39:54 UTC 2016


Hi,

On Fri, Sep 30, 2016 at 12:29:40PM -0700, Steve Langasek wrote:
> I've done some analysis of this build failure in Ubuntu, and it appears the
> problem is that libint2 is missing some header includes, which causes build
> failures of programs trying to include them.  (Unfortunately, cmake is not
> good about showing the actual failing test or its output.)  On arm64 with
> libint2-dev 2.1.0~beta2-2, I try to build the test case as follows:
> 
> $ cat > /tmp/test.cxx
> #include <libint2.hpp>
> #include <libint2/boys.h>
> #if !(LIBINT_MAJOR_VERSION==2 && LIBINT_MINOR_VERSION==1 && LIBINT_MICRO_VERSION>=0)
> # error "Libint2 library is too old"
> #endif
> int main(int argc, char** argv) {
>   libint2::GaussianGmEvalScratch<double,-1> scr;
>   scr.init(5);
>   // FmEval_Chebyshev3 converted to template in 30ea3cd4474c740bee7713bbc633d60f95b3a4c2
>   libint2::FmEval_Chebyshev3<double> cheb_boys_eval(12,1e-15);
>   // libint2::finalize defined in 06be4d68a7b0da073469c40ccf49acb9ed62a18e
>   libint2::finalize();
>   return 0;
> }
> ^D
> $ g++ -I/usr/include/eigen3 -I/usr/include/libint2 /tmp/test.cxx -o /tmp/test -lint2
 
OK, I managed to verify that this doesn't fail to compile on
2.1.0~beta2/amd64.

> I don't know why this problem appears to affect every architecture except
> for amd64.
 
No idea either, hrm.  Are you sure that all other architectures share
this problem?  The CMake output is opaque enough that it could be other
issues.

I can try to upload a new mpqc3 package which dumps some more CMake
files on failure, maybe.

> It's possible this problem is fixed upstream in libint2 2.1.0-1.1 (I haven't
> had a chance yet to check), in which case this bug can be closed and the
> mpqc3 builds can be retried.  

Actually, between beta2 and final, the struct GaussianGmEvalScratch got
removed entirely:

https://github.com/evaleev/libint/commit/397043b4926fb66d3efa5c58092dc5c02480bfce

I asked in a comment about the mpqc compile test.

Maybe there is some C++ magic which makes it appear again, but if I
ugprade libint2-2/libint2-dev to current unstable I get:

|$ g++ -I/usr/include/eigen3 -I/usr/include/libint2 /tmp/test.cxx -o
|/tmp/test -lint2
|/tmp/test.cxx: In function 'int main(int, char**)':
|/tmp/test.cxx:7:3: error: 'GaussianGmEvalScratch' is not a member of
|'libint2'
|   libint2::GaussianGmEvalScratch<double,-1> scr;
|   ^~~~~~~
|/tmp/test.cxx:7:34: error: expected primary-expression before 'double'
|   libint2::GaussianGmEvalScratch<double,-1> scr;
|                                  ^~~~~~
|/tmp/test.cxx:8:3: error: 'scr' was not declared in this scope
|   scr.init(5);
|   ^~~


Michael



> _______________________________________________
> Debichem-devel mailing list
> Debichem-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debichem-devel



More information about the Debichem-devel mailing list