Closed signedout closed 3 years ago
The library "tbb" needs to be installed first. Apparently the configure script doesn't yet signal an error if it's not there.
If further problems occur, feel free to report them, but as an issue on the M2 repository.
Thank you, that was all that was needed for it to work. Also, sorry for posting this in the wrong forum!
Hi,
I'm running Manjaro Linux, up-to-date. I tried installing M2 from the AUR (Arch User Repository) but it failed. I didn't note down the error, but I decided to compile from scratch (latest version pulled from git), thinking it may work. This time, it failed during "make", but I noted down the error. Here it is:
making TAGS file CC error.c CC table.c CC exptable.c CC complex.c CXX myalloc.cpp CXX matrix-ncbasis.cpp CXX M2FreeAlgebraQuotient.cpp In file included from M2FreeAlgebraQuotient.cpp:11: stdinc-m2.hpp:6:2: warning: #warning TODO: remove e/stdinc-m2.hpp [-Wcpp] 6 | #warning TODO: remove e/stdinc-m2.hpp | ^&, int, int, MemoryBlock&, int) const’ cannot be overloaded with ‘virtual void AbstractVectorArithmetic::safeDenseRowToSparseRow(DenseCoeffVector&, CoeffVector&, Range&, int, int, MemoryBlock&, int) const’
110 | virtual void safeDenseRowToSparseRow(DenseCoeffVector& dense,
| ^&, int, int, MemoryBlock&, int) const’
102 | virtual void safeDenseRowToSparseRow(DenseCoeffVector& dense,
| ^::safeDenseRowToSparseRow(DenseCoeffVector&, CoeffVector&, Range&, int, int, MemoryBlock&, int) const’ cannot be overloaded with ‘void ConcreteVectorArithmetic::safeDenseRowToSparseRow(DenseCoeffVector&, CoeffVector&, Range&, int, int, MemoryBlock&, int) const’
197 | void safeDenseRowToSparseRow(DenseCoeffVector& dense,
| ^::safeDenseRowToSparseRow(DenseCoeffVector&, CoeffVector&, Range&, int, int, MemoryBlock&, int) const’
180 | void safeDenseRowToSparseRow(DenseCoeffVector& dense,
| ^::denseRowToSparseRow(DenseCoeffVector&, CoeffVector&, Range&, int, int, MemoryBlock&) const’:
VectorArithmetic.cpp:170:5: error: ‘tbb’ has not been declared
170 | tbb::null_mutex noLock;
| ^~~
VectorArithmetic.cpp:171:32: error: ‘tbb’ was not declared in this scope
171 | generalDenseRowToSparseRow(dense,
| ^~~
VectorArithmetic.cpp:171:5: error: parse error in template argument list
171 | generalDenseRowToSparseRow(dense,
| ^::safeDenseRowToSparseRow(DenseCoeffVector&, CoeffVector&, Range&, int, int, MemoryBlock&, int) const’:
VectorArithmetic.cpp:188:32: error: ‘tbb’ was not declared in this scope
188 | generalDenseRowToSparseRow(dense,
| ^~~
VectorArithmetic.cpp:188:5: error: parse error in template argument list
188 | generalDenseRowToSparseRow(dense,
| ^::safeDenseRowToSparseRow(DenseCoeffVector&, CoeffVector&, Range&, int, int, MemoryBlock&, int) const’:
VectorArithmetic.cpp:205:32: error: ‘tbb’ was not declared in this scope
205 | generalDenseRowToSparseRow(dense,
| ^~~
VectorArithmetic.cpp:205:5: error: parse error in template argument list
205 | generalDenseRowToSparseRow(dense,
| ^ [Makefile:14: all-in-e] Error 2
make[1]: Leaving directory '/run/media/2020_3TB/M2/M2/Macaulay2'
make: *** [GNUmakefile:221: all-in-Macaulay2] Error 2
make: Leaving directory '/run/media/2020_3TB/M2/M2'
~~ CXX M2FreeAlgebra.cpp CXX VectorArithmetic.cpp In file included from VectorArithmetic.cpp:1: VectorArithmetic.hpp:108:40: error: ‘tbb’ has not been declared 108 | tbb::queuing_mutex& lock) const = 0; | ^~~ VectorArithmetic.hpp:108:58: error: expected ‘,’ or ‘...’ before ‘&’ token 108 | tbb::queuing_mutex& lock) const = 0; | ^ VectorArithmetic.hpp:116:40: error: ‘tbb’ has not been declared 116 | tbb::null_mutex& lock) const = 0; | ^~~ VectorArithmetic.hpp:116:55: error: expected ‘,’ or ‘...’ before ‘&’ token 116 | tbb::null_mutex& lock) const = 0; | ^ VectorArithmetic.hpp:110:16: error: ‘virtual void AbstractVectorArithmetic::safeDenseRowToSparseRow(DenseCoeffVector&, CoeffVector&, Range~~~~~~ VectorArithmetic.hpp:102:16: note: previous declaration ‘virtual void AbstractVectorArithmetic::safeDenseRowToSparseRow(DenseCoeffVector&, CoeffVector&, Range~~~~~~ VectorArithmetic.cpp:186:32: error: ‘tbb’ has not been declared 186 | tbb::queuing_mutex& lock) const override | ^~~ VectorArithmetic.cpp:186:50: error: expected ‘,’ or ‘...’ before ‘&’ token 186 | tbb::queuing_mutex& lock) const override | ^ VectorArithmetic.cpp:203:32: error: ‘tbb’ has not been declared 203 | tbb::null_mutex& noLock) const override | ^~~ VectorArithmetic.cpp:203:47: error: expected ‘,’ or ‘...’ before ‘&’ token 203 | tbb::null_mutex& noLock) const override | ^ VectorArithmetic.cpp:197:8: error: ‘void ConcreteVectorArithmetic~~~~~~ VectorArithmetic.cpp:180:8: note: previous declaration ‘void ConcreteVectorArithmetic~~~~~~ VectorArithmetic.cpp: In member function ‘void ConcreteVectorArithmetic~~~~~~~~~~ VectorArithmetic.cpp:177:49: error: ‘noLock’ was not declared in this scope 177 | noLock); | ^~VectorArithmetic.cpp: In member function ‘void ConcreteVectorArithmetic~~~~~~~~~VectorArithmetic.cpp:194:52: error: ‘lock’ was not declared in this scope; did you mean ‘lockf’? 194 | lock); | ^~~~ | lockf VectorArithmetic.cpp: In member function ‘void ConcreteVectorArithmetic~~~~~~~~~~ VectorArithmetic.cpp:211:49: error: ‘noLock’ was not declared in this scope 211 | noLock); | ^~make[2]: ** [Makefile.common:33: VectorArithmetic.o] Error 1 make[2]: Leaving directory '/run/media/2020_3TB/M2/M2/Macaulay2/e' make[1]: