+2 votes
asked by (200 points)


I run into problems when installing itensor on Linux. Here is the error message after running the make file:
Configure: Writing current dir to this_dir.mk

Building ITensor library

make[1]: Entering directory /home/xz113/itensor/itensor' Compiling itensor/itdata/dense.cc with optimizations In file included from /home/xz113/itensor/itensor/indexset.h:10:0, from /home/xz113/itensor/itensor/itdata/task_types.h:11, from /home/xz113/itensor/itensor/itdata/dense.h:8, from itdata/dense.cc:5: /home/xz113/itensor/itensor/iqindex.h:30:25: error: expected type-specifier using storage_ptr = std::shared_ptr<IQIndexDat>; ^ /home/xz113/itensor/itensor/iqindex.h:35:5: error: ‘storage_ptr’ does not name a type storage_ptr pd; ^ /home/xz113/itensor/itensor/iqindex.h:102:5: error: ‘storage_ptr’ does not name a type storage_ptr const& ^ /home/xz113/itensor/itensor/iqindex.h:118:25: error: expected ‘)’ before ‘const’ IQIndex(storage_ptr const& p, ^ Failure while executing command: g++ -m64 -std=c++11 -fPIC -c -I/home/xz113/itensor -O2 -DNDEBUG -Wall -DPLATFORM_lapack -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0 -o itdata/dense.o itdata/dense.cc make[1]: *** [itdata/dense.o] Error 1 make[1]: Leaving directory/home/xz113/itensor/itensor'
make: *** [itensor] Error 2

Do you have any idea what went wrong?


commented by (110 points)
I have the same problem also.
commented by (70.1k points)
Thanks for the report. Yes, I think it was just that in a recent pull request the line:
#include <memory>
got removed from a file.

Please pull the latest version of ITensor (just updated) and let me know if it's still not compiling.
commented by (200 points)
It works now. Thanks!

1 Answer

0 votes
answered by (70.1k points)
selected by
Best answer

To officially answer this question, the bug was fixed in the latest version of ITensor.

Welcome to ITensor Support Q&A, where you can ask questions and receive answers from other members of the community.

Formatting Tips:
  • To format code, indent by four spaces
  • To format inline LaTeX, surround it by @@ on both sides
  • To format LaTeX on its own line, surround it by $$ above and below
  • For LaTeX, it may be necessary to backslash-escape underscore characters to obtain proper formatting. So for example writing \sum\_i to represent a sum over i.
If you cannot register due to firewall issues (e.g. you cannot see the capcha box) please email Miles Stoudenmire to ask for an account.

To report ITensor bugs, please use the issue tracker.