0 votes
asked by (630 points)
reopened by

Good day,
I installed Cygwin with gcc-core (C-compiler); gcc-g++ (C++ compiler); gdb (GNU debugger) and make (make utility ). The folder is 'C:\cygwin64'
Also I cloned itensor in folder 'C:\itensor'.

Tell me plz what I should modify or add in the file 'options.make' in order to install itensor?

when I use commands 'cp options.mk.sample options.mk' in itensor folder and
'make' I get an error:

Configure: Writing current dir to this_dir.mk

Building ITensor library

make[1]: enter to directory «/cygdrive/c/itensor/itensor»
Compiling itensor/tensor/lapackwrap.cc with optimizations
In file included from tensor/lapack
wrap.cc:1:0:
/cygdrive/c/itensor/itensor/tensor/lapackwrap.h:73:10: fatal error: Accelerate/Accelerate.h: No such file or directory
#include <Accelerate/Accelerate.h>
^~~~~~~~~~~~~~~~~~~~~~~~~
Compilation stops.
Failure while executing command: g++ -m64 -std=c++11 -fPIC -c -I/cygdrive/c/itensor -O2 -DNDEBUG -Wall -DPLATFORM
macos -D__ASSERTMACROSDEFINEVERSIONSWITHOUTUNDERSCORES=0 -o tensor/lapackwrap.o tensor/lapackwrap.cc
make[1]: *** [Makefile:59: tensor/lapack
wrap.o] Error 1
make[1]: exit from directory «/cygdrive/c/itensor/itensor»
make: *** [Makefile:14: itensor] Error 2

1 Answer

0 votes
answered by (52.6k points)

For cygwin, I don't know if I recall all of the libraries and correct settings, but I believe the key ones are:

  1. install the lapack and lapack-devel (or similarly named) libraries with Cygwin

  2. in your "options.mk" file, comment out ("#") the lines PLATFORM=macos and BLASLAPACKLIBFLAGS=-framework Accelerate, because as you can see from the comments above those lines, those are the settings for Mac / Apple systems

  3. uncomment the PLATFORM and BLASLAPACKLIBFLAGS just below, suitable for general GNU/LINUX systems

I think with those changes it should compile and work. But if you get other error messages please let me know.

Best regards,
Miles

commented by (630 points)
I got the following error:

/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/as: .debug_objs/itensor_operators.o: section .debug_frame$_ZN7itensor6detail5FuncTINS0_8CallWrapINS0_12RegisterTaskINS0_7TwoArgsISt10shared_ptrINS_6ITDataEENS_6CPDataEEEONS_8ContractINS_7IQIndexEEENS_8NoneTypeEEESC_KNS_6ScalarISt7complexIdEEESE_S7_S8_EENS_8TypeListIJNS_6QDenseISI_EENS_9QCombinerENS_5QDiagIdEENSQ_ISI_EENS_6QMixedIdEENST_ISI_EENSG_IdEESJ_EEEE7applyToERKSO_: string table overflow at offset 10000178
/tmp/cco9rlzo.s: Assembler messages:
/tmp/cco9rlzo.s: Fatal error: can't close .debug_objs/itensor_operators.o: file is too huge
Failure while executing command: g++ -std=c++11 -Wa,-mbig-obj -O2 -fPIC -c -I/cygdrive/c/itensor  -DDEBUG -g -Wall -pedantic -DPLATFORM_lapack -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0 -o .debug_objs/itensor_operators.o itensor_operators.cc
make[1]: *** [Makefile:64: .debug_objs/itensor_operators.o] Ошибка 1
make[1]: exit from directory«/cygdrive/c/itensor/itensor»
make: *** [Makefile:14: itensor] error 2
commented by (52.6k points)
Hi, so I read somewhere that if you change the -O2 compiler flag to -O3, it can alleviate this issue. (Which is not really an issue with ITensor per se, but rather with the gcc compiler on cygwin.) Could you try chaging the flag "OPTIMIZATIONS" to use -O3 instead of -O2 and see if that works? Thanks -
commented by (630 points)
edited by
the same error occured:
############################################################
$ make

Configure: Writing current dir to this_dir.mk

Building ITensor library

make[1]: enter to directory «/cygdrive/c/ProgramsCalculation/itensor/itensor»
Compiling itensor/util/args.cc with optimizations
Compiling itensor/util/input.cc with optimizations
Compiling itensor/util/cputime.cc with optimizations
Compiling itensor/tensor/lapack_wrap.cc with optimizations
Compiling itensor/tensor/vec.cc with optimizations
Compiling itensor/tensor/mat.cc with optimizations
Compiling itensor/tensor/gemm.cc with optimizations
Compiling itensor/tensor/algs.cc with optimizations
Compiling itensor/tensor/contract.cc with optimizations
Compiling itensor/itdata/dense.cc with optimizations
Compiling itensor/itdata/combiner.cc with optimizations
Compiling itensor/itdata/diag.cc with optimizations
Compiling itensor/itdata/qdense.cc with optimizations
Compiling itensor/itdata/qcombiner.cc with optimizations
Compiling itensor/itdata/qdiag.cc with optimizations
Compiling itensor/itdata/qmixed.cc with optimizations
Compiling itensor/itdata/scalar.cc with optimizations
Compiling itensor/index.cc with optimizations
Compiling itensor/itensor_interface.cc with optimizations
Compiling itensor/itensor_operators.cc with optimizations
Compiling itensor/itensor.cc with optimizations
Compiling itensor/qn.cc with optimizations
Compiling itensor/iqindex.cc with optimizations
Compiling itensor/iqtensor.cc with optimizations
Compiling itensor/spectrum.cc with optimizations
Compiling itensor/decomp.cc with optimizations
Compiling itensor/svd.cc with optimizations
Compiling itensor/hermitian.cc with optimizations
Compiling itensor/global.cc with optimizations
Compiling itensor/mps/mps.cc with optimizations
Compiling itensor/mps/mpsalgs.cc with optimizations
Compiling itensor/mps/mpo.cc with optimizations
Compiling itensor/mps/mpoalgs.cc with optimizations
Compiling itensor/mps/autompo.cc with optimizations
Building static library /cygdrive/c/ProgramsCalculation/itensor/lib/libitensor.a
ar: creating /cygdrive/c/ProgramsCalculation/itensor/lib/libitensor.a
Compiling itensor/util/args.cc in debug mode
Compiling itensor/util/input.cc in debug mode
Compiling itensor/util/cputime.cc in debug mode
Compiling itensor/tensor/lapack_wrap.cc in debug mode
Compiling itensor/tensor/vec.cc in debug mode
Compiling itensor/tensor/mat.cc in debug mode
Compiling itensor/tensor/gemm.cc in debug mode
Compiling itensor/tensor/algs.cc in debug mode
Compiling itensor/tensor/contract.cc in debug mode
Compiling itensor/itdata/dense.cc in debug mode
Compiling itensor/itdata/combiner.cc in debug mode
Compiling itensor/itdata/diag.cc in debug mode
Compiling itensor/itdata/qdense.cc in debug mode
Compiling itensor/itdata/qcombiner.cc in debug mode
Compiling itensor/itdata/qdiag.cc in debug mode
Compiling itensor/itdata/qmixed.cc in debug mode
Compiling itensor/itdata/scalar.cc in debug mode
Compiling itensor/index.cc in debug mode
Compiling itensor/itensor_interface.cc in debug mode
Compiling itensor/itensor_operators.cc in debug mode
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/as: .debug_objs/itensor_operators.o: section .debug_frame$_ZN7itensor6detail5FuncTINS0_8CallWrapINS0_12RegisterTaskINS0_7TwoArgsISt10shared_ptrINS_6ITDataEENS_6CPDataEEEONS_8ContractINS_7IQIndexEEENS_8NoneTypeEEESC_KNS_6ScalarISt7complexIdEEESE_S7_S8_EENS_8TypeListIJNS_6QMixedISI_EENSG_IdEESJ_EEEE7applyToERKSO_: string table overflow at offset 10000022
/tmp/cckF25CS.s: Assembler messages:
/tmp/cckF25CS.s: Fatal error: can't close .debug_objs/itensor_operators.o: File is too big
Failure while executing command: g++ -std=c++11 -Wa,-mbig-obj -O3 -fPIC -c -I/cygdrive/c/ProgramsCalculation/itensor  -DDEBUG -g -Wall -pedantic -DPLATFORM_lapack -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0 -o .debug_objs/itensor_operators.o itensor_operators.cc
make[1]: *** [Makefile:64: .debug_objs/itensor_operators.o] Error 1
make[1]: Exit from directory«/cygdrive/c/ProgramsCalculation/itensor/itensor»
make: *** [Makefile:14: itensor] Error 2
###########################################################
commented by (52.6k points)
Do you have access to a computer running Linux/Unix or MacOS? Such as a cluster computer at your institution?
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.

Categories

...