[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