evaleev / libint

Libint: high-performance library for computing Gaussian integrals in quantum mechanics
Other
226 stars 95 forks source link

libint-2.7.0-beta.1: out-of-tree build with CMake broken #144

Closed dev-zero closed 4 years ago

dev-zero commented 5 years ago

I do:

$ tar xf libint-2.7.0-beta.1.tar.gz && cd libint-2.7.0-beta.1
$ ./autogen.sh && ./configure && make -j4 export
$ tar xf libint-2.7.0-beta.1.tgz
$ mkdir build && cd build
$ cmake ../libint-2.7.0-beta.1
$ make VERBOSE=1

The last make gives me:

$ make VERBOSE=1
/usr/bin/cmake -H/users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1 -B/users/tiziano/Downloads/libint-2.7.0-beta.1/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /users/tiziano/Downloads/libint-2.7.0-beta.1/build/CMakeFiles /users/tiziano/Downloads/libint-2.7.0-beta.1/build/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/data/tiziano/Downloads/libint-2.7.0-beta.1/build'
make -f CMakeFiles/int2_obj.dir/build.make CMakeFiles/int2_obj.dir/depend
make[2]: Entering directory '/data/tiziano/Downloads/libint-2.7.0-beta.1/build'
cd /users/tiziano/Downloads/libint-2.7.0-beta.1/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1 /users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1 /users/tiziano/Downloads/libint-2.7.0-beta.1/build /users/tiziano/Downloads/libint-2.7.0-beta.1/build /users/tiziano/Downloads/libint-2.7.0-beta.1/build/CMakeFiles/int2_obj.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/data/tiziano/Downloads/libint-2.7.0-beta.1/build'
make -f CMakeFiles/int2_obj.dir/build.make CMakeFiles/int2_obj.dir/build
make[2]: Entering directory '/data/tiziano/Downloads/libint-2.7.0-beta.1/build'
[  0%] Building CXX object CMakeFiles/int2_obj.dir/src/_1emultipole_D_D.cc.o
/usr/bin/c++  -D__COMPILING_LIBINT2 -I/users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1/include -I/users/tiziano/Downloads/libint-2.7.0-beta.1/build/include  -std=c++11 -o CMakeFiles/int2_obj.dir/src/_1emultipole_D_D.cc.o -c /users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1/src/_1emultipole_D_D.cc
In file included from /users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1/include/libint2/util/generated/libint2_types.h:29:0,
                 from /users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1/include/libint2.h:35,
                 from /users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1/src/_1emultipole_D_D.cc:21:
/users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1/include/libint2_types.h:29:1: error: ‘LIBINT2_REALTYPE’ does not name a type; did you mean ‘LIBINT2_MAX_AM’?
 LIBINT2_REALTYPE PO2[LIBINT2_MAX_VECLEN];
 ^~~~~~~~~~~~~~~~
 LIBINT2_MAX_AM
/users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1/include/libint2_types.h:31:1: error: ‘LIBINT2_REALTYPE’ does not name a type; did you mean ‘LIBINT2_MAX_AM’?
 LIBINT2_REALTYPE _aB_s___0___ElecPot_s___0___Ab__up_0[LIBINT2_MAX_VECLEN];
 ^~~~~~~~~~~~~~~~
 LIBINT2_MAX_AM
[...]

using ninja instead of make does not help:

$ cmake -G Ninja ../libint-2.7.0-beta.1
$ cmake --build .
[1/1718] Building CXX object CMakeFiles/int2_obj.dir/src/_1emultipole_D_G_prereq.cc.o
FAILED: CMakeFiles/int2_obj.dir/src/_1emultipole_D_G_prereq.cc.o 
/usr/bin/c++  -D__COMPILING_LIBINT2 -I/users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1/include -Iinclude -std=c++11 -MD -MT CMakeFiles/int2_obj.dir/src/_1emultipole_D_G_prereq.cc.o -MF CMakeFiles/int2_obj.dir/src/_1emultipole_D_G_prereq.cc.o.d -o CMakeFiles/int2_obj.dir/src/_1emultipole_D_G_prereq.cc.o -c /users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1/src/_1emultipole_D_G_prereq.cc
In file included from /users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1/include/libint2/util/generated/libint2_types.h:29:0,
                 from /users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1/include/libint2.h:35,
                 from /users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1/src/_1emultipole_D_G_prereq.cc:21:
/users/tiziano/Downloads/libint-2.7.0-beta.1/libint-2.7.0-beta.1/include/libint2_types.h:29:1: error: ‘LIBINT2_REALTYPE’ does not name a type; did you mean ‘LIBINT2_MAX_AM’?
 LIBINT2_REALTYPE PO2[LIBINT2_MAX_VECLEN];
 ^~~~~~~~~~~~~~~~
 LIBINT2_MAX_AM
[...]

running cmake (and make) in-tree works.

evaleev commented 4 years ago

make export does not work correctly with in-source compiler build. will fix. Thanks!