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-de...@lists.alioth.debian.org > http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debichem-devel