g1257 / dmrgpp

A free and open source implementation of the DMRG Algorithm
https://g1257.github.io/dmrgPlusPlus/
Other
41 stars 22 forks source link

Installation error #36

Closed pastle closed 4 years ago

pastle commented 4 years ago

Hi,

I'm trying to install dmrgpp on ubuntu following the tutorial. In the final step of make in the dmrgpp/src folder, there are errors related to 'KronUtil/libkronutil.a':

> g++ -frecord-gcc-switches -pedantic -std=c++11 -Wall -Wendif-labels -I/usr/include/hdf5/serial -DUSE_BOOST -DUSE_PTHREADS -O3 -DNDEBUG -I ../../PsimagLite -I ../../PsimagLite/src -I Engine  -c manyOmegas.cpp
> ar rcs libdmrgpp.a Provenance.o ProgramGlobals.o Qn.o Utils.o
> make: *** No rule to make target 'KronUtil/libkronutil.a', needed by 'manyOmegas'.  Stop.

What might be the problems?

Wishes Shang

g1257 commented 4 years ago

Make sure you run

cd dmrgpp/src ./configure.pl which creates the Makefile.

If the problem persists, would you please provide the Makefile.

Thanks.

pastle commented 4 years ago

Thank you for your reply. I did run the './configure.pl' command before 'make', and the installation looks fine before hitting the 'manyOmegas' section.

My Makefile is attached. Makefile.txt

g1257 commented 4 years ago

On 8/27/20 4:43 PM, Shang Gao wrote:

Thank you for your reply. I did run the './configure.pl' command before 'make', and the installation looks fine before hitting the 'manyOmegas' section.

My Makefile is attached. Makefile.txt

Please try the following

make dmrgpp observe operator -j 4

You can adjust 4 to the number of cores you want to use for compilation.

This won't make manyOmegas or procOmegas.

If you want to make those then you need to edit the Makefile and change where it says manyOmegas: manyOmegas.o libdmrgpp.a KronUtil/libkronutil.a into manyOmegas: manyOmegas.o libdmrgpp.a libkronutil.a

and similar for procOmegas. I will fix this in the next round next month.

Please let me know of any other problems. Thanks.

pastle commented 4 years ago

If you want to make those then you need to edit the Makefile and change where it says manyOmegas: manyOmegas.o libdmrgpp.a KronUtil/libkronutil.a into manyOmegas: manyOmegas.o libdmrgpp.a libkronutil.a and similar for procOmegas. I will fix this in the next round next month.

Changing the Makefile as you suggested fixes the problem. Now dmrgpp is installed successfully and the test looks fine. Thanks a lot!