evaleev / libint

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

Header files located in wrong folder? #157

Closed javierelpianista closed 4 years ago

javierelpianista commented 4 years ago

Whenever I install libint2 and try to use it, the compiler complains that it doesn't find libint2/libint2_params.h (and other similarly named header files). To solve this problem I have to create symbolic links to all include/libint2*.h files in the include/libint2 folder. This happens when I use the library downloaded from https://github.com/evaleev/libint/releases/download/v2.6.0, but also when I download the libint2 compiler and create my own library.

The compiler options I use to compile my code are: -I/data/jgarcia/lib/libint/libint-2.6.0-gfortran/include/ -I/data/jgarcia/lib/eigen -L../saptlib -lsapt -lstdc++ /data/jgarcia/lib/libint/libint-2.6.0-gfortran/libint2.a

Am I doing something wrong here? I feel that the user shouldn't have to do this by hand, but the configure script by itself should do it.

evaleev commented 4 years ago

@javierelpianista would you mind sharing the full output from your build attempt? Where is libint2/libint2_params.h being included?

javierelpianista commented 4 years ago

@evaleev Thanks for your reply. Here are my config.log file (after running ./configure) and the output of the make command (after make)

config.log make.log

Without creating the symbolic links myself, I get the following error:

g++ -c -O3 -lgomp -fopenmp -o ao_integrals_c.o ao_integrals.cpp -I/data/jgarcia/lib/libint/libint-2.6.0-gfortran/include/ -I/data/jgarcia/lib/libint/libint-2.6.0-gfortran/include/libint2 -I/data/jgarcia/lib/eigen -L../saptlib -lsapt -lstdc++ /data/jgarcia/lib/libint/libint-2.6.0-gfortran/libint2.a
In file included from /data/jgarcia/lib/libint/libint-2.6.0-gfortran/include/libint2.h:34,
                 from /data/jgarcia/lib/libint/libint-2.6.0-gfortran/include/libint2/cxxapi.h:29,
                 from /data/jgarcia/lib/libint/libint-2.6.0-gfortran/include/libint2.hpp:24,
                 from ao_integrals.cpp:5:
/data/jgarcia/lib/libint/libint-2.6.0-gfortran/include/libint2/util/generated/libint2_params.h:26:12: fatal error: libint2/libint2_params.h: No such file or directory
 #  include <libint2/libint2_params.h>
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [ao_integrals_c.o] Error 1
evaleev commented 4 years ago

@javierelpianista there are 2 issues:

Follow the instructions in INSTALL file and let me know if this issue still occurs.

javierelpianista commented 4 years ago

@evaleev I now managed to install libint properly and the header files are located where they are supposed to be, so now everything works as it is supposed to. I had assumed that the configure would work the same but it didn't.

One small issue is that the instructions tell me to mkdir build; cd build; cmake .; I think it should be changed to mkdir build; cd build; cmake ../ instead.

Thanks a lot for your help!

evaleev commented 4 years ago

Great! Yes, I should have added a warning to configure about the deprecation ... but autotools should have worked anyway, my guess is that trying to use the library from the source (same as build) location was the issue. With CMake such problems are not possible since the targets are designed to work correctly in build and in install trees.

Thanks for catching the typo! Please make a PR to get credit!

On Mon, Jan 27, 2020 at 3:58 PM Javier notifications@github.com wrote:

@evaleev https://github.com/evaleev I now managed to install libint properly and the header files are located where they are supposed to be, so now everything works as it is supposed to. I had assumed that the configure would work the same but it didn't.

One small issue is that the instructions tell me to mkdir build; cd build; cmake .; I think it should be changed to mkdir build; cd build; cmake ../ instead.

Thanks a lot for your help!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/evaleev/libint/issues/157?email_source=notifications&email_token=AAQXIZ66JSUW5M7E5MLSZKTQ75DG7A5CNFSM4KLS6RFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKBBB3Y#issuecomment-578949359, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQXIZYOCLEWXPFGF6EVSULQ75DG7ANCNFSM4KLS6RFA .

-- web: valeyev.net