Open barracuda156 opened 1 year ago
Just in case, it is as broken with bundled Eigen3
:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolverHypre.cpp: In member function 'virtual void polysolve::LinearSolverHypre::factorize(const polysolve::StiffnessMatrix&)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolverHypre.cpp:104:45: warning: dereferencing type-punned pointer might break strict-aliasing rules [-Wstrict-aliasing]
104 | HYPRE_IJMatrixGetObject(A, (void **)&parcsr_A);
| ^~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolverHypre.cpp: In member function 'virtual void polysolve::LinearSolverHypre::solve(Eigen::Ref<const Eigen::Matrix<double, -1, 1>, 0, Eigen::InnerStride<1> >, Eigen::Ref<Eigen::Matrix<double, -1, 1>, 0, Eigen::InnerStride<1> >)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolverHypre.cpp:221:45: warning: dereferencing type-punned pointer might break strict-aliasing rules [-Wstrict-aliasing]
221 | HYPRE_IJVectorGetObject(b, (void **)&par_b);
| ^~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolverHypre.cpp:224:45: warning: dereferencing type-punned pointer might break strict-aliasing rules [-Wstrict-aliasing]
224 | HYPRE_IJVectorGetObject(x, (void **)&par_x);
| ^~~~~~
In file included from /System/Library/Frameworks/vecLib.framework/Headers/vecLib.h:22,
from /System/Library/Frameworks/Accelerate.framework/Headers/Accelerate.h:20,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:4,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/AccelerateSupport:47,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp:9:
/System/Library/Frameworks/vecLib.framework/Headers/vecLibTypes.h:86:26: error: two or more data types in declaration of 'vBool32'
86 | typedef __vector bool int vBool32;
| ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:10:44: error: 'SparseFactorization_t' has not been declared
10 | template <typename MatrixType_, int UpLo_, SparseFactorization_t Solver_, bool EnforceSquare_>
| ^~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:11:7: error: no default argument for 'EnforceSquare_'
11 | class AccelerateImpl;
| ^~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:25:68: error: 'SparseFactorizationCholesky' was not declared in this scope
25 | using AccelerateLLT = AccelerateImpl<MatrixType, UpLo | Symmetric, SparseFactorizationCholesky, true>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:25:101: error: template argument 3 is invalid
25 | using AccelerateLLT = AccelerateImpl<MatrixType, UpLo | Symmetric, SparseFactorizationCholesky, true>;
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:39:69: error: 'SparseFactorizationLDLT' was not declared in this scope
39 | using AccelerateLDLT = AccelerateImpl<MatrixType, UpLo | Symmetric, SparseFactorizationLDLT, true>;
| ^~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:39:98: error: template argument 3 is invalid
39 | using AccelerateLDLT = AccelerateImpl<MatrixType, UpLo | Symmetric, SparseFactorizationLDLT, true>;
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:53:78: error: 'SparseFactorizationLDLTUnpivoted' was not declared in this scope
53 | using AccelerateLDLTUnpivoted = AccelerateImpl<MatrixType, UpLo | Symmetric, SparseFactorizationLDLTUnpivoted, true>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:53:116: error: template argument 3 is invalid
53 | using AccelerateLDLTUnpivoted = AccelerateImpl<MatrixType, UpLo | Symmetric, SparseFactorizationLDLTUnpivoted, true>;
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:67:72: error: 'SparseFactorizationLDLTSBK' was not declared in this scope
67 | using AccelerateLDLTSBK = AccelerateImpl<MatrixType, UpLo | Symmetric, SparseFactorizationLDLTSBK, true>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:67:104: error: template argument 3 is invalid
67 | using AccelerateLDLTSBK = AccelerateImpl<MatrixType, UpLo | Symmetric, SparseFactorizationLDLTSBK, true>;
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:81:72: error: 'SparseFactorizationLDLTTPP' was not declared in this scope
81 | using AccelerateLDLTTPP = AccelerateImpl<MatrixType, UpLo | Symmetric, SparseFactorizationLDLTTPP, true>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:81:104: error: template argument 3 is invalid
81 | using AccelerateLDLTTPP = AccelerateImpl<MatrixType, UpLo | Symmetric, SparseFactorizationLDLTTPP, true>;
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:94:52: error: 'SparseFactorizationQR' was not declared in this scope
94 | using AccelerateQR = AccelerateImpl<MatrixType, 0, SparseFactorizationQR, false>;
| ^~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:94:80: error: template argument 3 is invalid
94 | using AccelerateQR = AccelerateImpl<MatrixType, 0, SparseFactorizationQR, false>;
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:107:61: error: 'SparseFactorizationCholeskyAtA' was not declared in this scope
107 | using AccelerateCholeskyAtA = AccelerateImpl<MatrixType, 0, SparseFactorizationCholeskyAtA, false>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:107:98: error: template argument 3 is invalid
107 | using AccelerateCholeskyAtA = AccelerateImpl<MatrixType, 0, SparseFactorizationCholeskyAtA, false>;
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:127:11: error: 'SparseOpaqueSymbolicFactorization' does not name a type
127 | typedef SparseOpaqueSymbolicFactorization SymbolicFactorization;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:130:37: error: 'SymbolicFactorization' was not declared in this scope; did you mean 'NumericFactorization'?
130 | typedef AccelFactorizationDeleter<SymbolicFactorization> SymbolicFactorizationDeleter;
| ^~~~~~~~~~~~~~~~~~~~~
| NumericFactorization
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:130:58: error: template argument 1 is invalid
130 | typedef AccelFactorizationDeleter<SymbolicFactorization> SymbolicFactorizationDeleter;
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:138:56: error: 'DenseVector_Double' was not declared in this scope
138 | struct SparseTypesTrait<double> : SparseTypesTraitBase<DenseVector_Double, DenseMatrix_Double, SparseMatrix_Double,
| ^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:138:76: error: 'DenseMatrix_Double' was not declared in this scope
138 | struct SparseTypesTrait<double> : SparseTypesTraitBase<DenseVector_Double, DenseMatrix_Double, SparseMatrix_Double,
| ^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:138:96: error: 'SparseMatrix_Doubl' was not declared in this scope; did you mean 'SparseMatrixBase'?
138 | struct SparseTypesTrait<double> : SparseTypesTraitBase<DenseVector_Double, DenseMatrix_Double, SparseMatrix_Double,
| ^~~~~~~~~~~~~~~~~~~
| SparseMatrixBase
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:139:56: error: 'SparseOpaqueFactorization_Double' was not declared in this scope
139 | SparseOpaqueFactorization_Double> {};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:139:88: error: template argument 1 is invalid
139 | SparseOpaqueFactorization_Double> {};
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:139:88: error: template argument 2 is invalid
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:139:88: error: template argument 3 is invalid
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:139:88: error: template argument 4 is invalid
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:143:28: error: 'DenseVector_Float' was not declared in this scope; did you mean 'ConstVectorFloat'?
143 | : SparseTypesTraitBase<DenseVector_Float, DenseMatrix_Float, SparseMatrix_Float, SparseOpaqueFactorization_Float> {
| ^~~~~~~~~~~~~~~~~
| ConstVectorFloat
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:143:47: error: 'DenseMatrix_Float' was not declared in this scope
143 | : SparseTypesTraitBase<DenseVector_Float, DenseMatrix_Float, SparseMatrix_Float, SparseOpaqueFactorization_Float> {
| ^~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:143:66: error: 'SparseMatrix_Float' was not declared in this scope; did you mean 'SparseMatrixBase'?
143 | : SparseTypesTraitBase<DenseVector_Float, DenseMatrix_Float, SparseMatrix_Float, SparseOpaqueFactorization_Float> {
| ^~~~~~~~~~~~~~~~~~
| SparseMatrixBase
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:143:86: error: 'SparseOpaqueFactorization_Float' was not declared in this scope
143 | : SparseTypesTraitBase<DenseVector_Float, DenseMatrix_Float, SparseMatrix_Float, SparseOpaqueFactorization_Float> {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:143:117: error: template argument 1 is invalid
143 | : SparseTypesTraitBase<DenseVector_Float, DenseMatrix_Float, SparseMatrix_Float, SparseOpaqueFactorization_Float> {
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:143:117: error: template argument 2 is invalid
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:143:117: error: template argument 3 is invalid
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:143:117: error: template argument 4 is invalid
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:148:44: error: 'SparseFactorization_t' has not been declared
148 | template <typename MatrixType_, int UpLo_, SparseFactorization_t Solver_, bool EnforceSquare_>
| ^~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:149:83: error: 'Solver_' was not declared in this scope; did you mean 'Solve'?
149 | class AccelerateImpl : public SparseSolverBase<AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_> > {
| ^~~~~~~
| Solve
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:149:106: error: template argument 3 is invalid
149 | class AccelerateImpl : public SparseSolverBase<AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_> > {
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:149:108: error: template argument 1 is invalid
149 | class AccelerateImpl : public SparseSolverBase<AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_> {
|
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:320:44: error: 'SparseFactorization_t' has not been declared
320 | template <typename MatrixType_, int UpLo_, SparseFactorization_t Solver_, bool EnforceSquare_>
| ^~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:321:41: error: 'Solver_' was not declared in this scope; did you mean 'Solve'?
321 | void AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_>::compute(const MatrixType& a) {
| ^~~~~~~
| Solve
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:321:64: error: template argument 3 is invalid
321 | void AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_>::compute(const MatrixType& a) {
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:321:81: error: 'MatrixType' does not name a type; did you mean 'MatrixType_'?
321 | void AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_>::compute(const MatrixType& a) {
| ^~~~~~~~~~
| MatrixType_
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h: In function 'void Eigen::compute(const int&)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:324:3: error: 'm_nRows' was not declared in this scope
324 | m_nRows = a.rows();
| ^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:324:15: error: request for member rows' in 'a', which is of non-class type 'const int'
324 | m_nRows = a.rows();
| ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:325:3: error: 'm_nCols' was not declared in this scope
325 | m_nCols = a.cols();
| ^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:325:15: error: request for member cols' in 'a', which is of non-class type 'const int'
325 | m_nCols = a.cols();
| ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:327:3: error: 'AccelSparseMatrix' was not declared in this scope; did you mean 'SparseMatrix'?
327 | AccelSparseMatrix A{};
| ^~~~~~~~~~~~~~~~~
| SparseMatrix
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:330:29: error: 'A' was not declared in this scope
330 | buildAccelSparseMatrix(a, A, columnStarts);
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:330:3: error: there are no arguments to 'buildAccelSparseMatrix' that depend on a template parameter, so a declaration of 'buildAccelSparseMatrix' must be available [-fpermissive]
330 | buildAccelSparseMatrix(a, A, columnStarts);
| ^~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:330:3: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:332:3: error: there are no arguments to 'doAnalysis' that depend on a template parameter, so a declaration of 'doAnalysis' must be available [-fpermissive]
332 | doAnalysis(A);
| ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:334:7: error: 'm_symbolicFactorization' was not declared in this scope
334 | if (m_symbolicFactorization) doFactorization(A);
| ^~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:334:32: error: there are no arguments to 'doFactorization' that depend on a template parameter, so a declaration of 'doFactorization' must be available [-fpermissive]
334 | if (m_symbolicFactorization) doFactorization(A);
| ^~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:336:3: error: 'm_isInitialized' was not declared in this scope
336 | m_isInitialized = true;
| ^~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h: At global scope:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:345:44: error: 'SparseFactorization_t' has not been declared
345 | template <typename MatrixType_, int UpLo_, SparseFactorization_t Solver_, bool EnforceSquare_>
| ^~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:346:41: error: 'Solver_' was not declared in this scope; did you mean 'Solve'?
346 | void AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_>::analyzePattern(const MatrixType& a) {
| ^~~~~~~
| Solve
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:346:64: error: template argument 3 is invalid
346 | void AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_>::analyzePattern(const MatrixType& a) {
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:346:88: error: 'MatrixType' does not name a type; did you mean 'MatrixType_'?
346 | void AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_>::analyzePattern(const MatrixType& a) {
| ^~~~~~~~~~
| MatrixType_
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h: In function 'void Eigen::analyzePattern(const int&)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:349:3: error: 'm_nRows' was not declared in this scope
349 | m_nRows = a.rows();
| ^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:349:15: error: request for member rows' in 'a', which is of non-class type 'const int'
349 | m_nRows = a.rows();
| ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:350:3: error: 'm_nCols' was not declared in this scope
350 | m_nCols = a.cols();
| ^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:350:15: error: request for member cols' in 'a', which is of non-class type 'const int'
350 | m_nCols = a.cols();
| ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:352:3: error: 'AccelSparseMatrix' was not declared in this scope; did you mean 'SparseMatrix'?
352 | AccelSparseMatrix A{};
| ^~~~~~~~~~~~~~~~~
| SparseMatrix
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:355:29: error: 'A' was not declared in this scope
355 | buildAccelSparseMatrix(a, A, columnStarts);
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:355:3: error: there are no arguments to 'buildAccelSparseMatrix' that depend on a template parameter, so a declaration of 'buildAccelSparseMatrix' must be available [-fpermissive]
355 | buildAccelSparseMatrix(a, A, columnStarts);
| ^~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:357:3: error: there are no arguments to 'doAnalysis' that depend on a template parameter, so a declaration of 'doAnalysis' must be available [-fpermissive]
357 | doAnalysis(A);
| ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:359:3: error: 'm_isInitialized' was not declared in this scope
359 | m_isInitialized = true;
| ^~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h: At global scope:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:368:44: error: 'SparseFactorization_t' has not been declared
368 | template <typename MatrixType_, int UpLo_, SparseFactorization_t Solver_, bool EnforceSquare_>
| ^~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:369:41: error: 'Solver_' was not declared in this scope; did you mean 'Solve'?
369 | void AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_>::factorize(const MatrixType& a) {
| ^~~~~~~
| Solve
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:369:64: error: template argument 3 is invalid
369 | void AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_>::factorize(const MatrixType& a) {
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:369:83: error: 'MatrixType' does not name a type; did you mean 'MatrixType_'?
369 | void AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_>::factorize(const MatrixType& a) {
| ^~~~~~~~~~
| MatrixType_
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h: In function 'void Eigen::factorize(const int&)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:375:3: error: 'AccelSparseMatrix' was not declared in this scope; did you mean 'SparseMatrix'?
375 | AccelSparseMatrix A{};
| ^~~~~~~~~~~~~~~~~
| SparseMatrix
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:378:29: error: 'A' was not declared in this scope
378 | buildAccelSparseMatrix(a, A, columnStarts);
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:378:3: error: there are no arguments to 'buildAccelSparseMatrix' that depend on a template parameter, so a declaration of 'buildAccelSparseMatrix' must be available [-fpermissive]
378 | buildAccelSparseMatrix(a, A, columnStarts);
| ^~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:380:3: error: there are no arguments to 'doFactorization' that depend on a template parameter, so a declaration of 'doFactorization' must be available [-fpermissive]
380 | doFactorization(A);
| ^~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h: At global scope:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:383:44: error: 'SparseFactorization_t' has not been declared
383 | template <typename MatrixType_, int UpLo_, SparseFactorization_t Solver_, bool EnforceSquare_>
| ^~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:385:41: error: 'Solver_' was not declared in this scope; did you mean 'Solve'?
385 | void AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_>::_solve_impl(const MatrixBase<Rhs>& b,
| ^~~~~~~
| Solve
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:385:64: error: template argument 3 is invalid
385 | void AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_>::_solve_impl(const MatrixBase<Rhs>& b,
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/.home/.cache/CPM/eigen/2e68522bbe453e136c9b281a06f112155cbeafd8/Eigen/src/AccelerateSupport/AccelerateSupport.h:385:6: error: too many template-parameter-lists
385 | void AccelerateImpl<MatrixType_, UpLo_, Solver_, EnforceSquare_>::_solve_impl(const MatrixBase<Rhs>& b,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp: In static member function 'static std::unique_ptr<polysolve::LinearSolver> polysolve::LinearSolver::create(const std::string&, const std::string&)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp:198:38: error: 'AccelerateLLT' was not declared in this scope
198 | RETURN_DIRECT_SOLVER_PTR(AccelerateLLT, "Eigen::AccelerateLLT");
| ^~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp:124:57: note: in definition of macro 'RETURN_DIRECT_SOLVER_PTR'
124 | return std::make_unique<LinearSolverEigenDirect<EigenSolver< \
| ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp:125:24: error: template argument 1 is invalid
125 | polysolve::StiffnessMatrix>>>(Name); \
| ^~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp:125:24: note: in definition of macro 'RETURN_DIRECT_SOLVER_PTR'
125 | polysolve::StiffnessMatrix>>>(Name); \
| ^~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp:125:41: error: invalid operands of types '<unresolved overloaded function type>' and 'const char [21]' to binary 'operator>'
124 | return std::make_unique<LinearSolverEigenDirect<EigenSolver< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| <unresolved overloaded function type>
125 | polysolve::StiffnessMatrix>>>(Name); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp:198:13: note: in expansion of macro 'RETURN_DIRECT_SOLVER_PTR'
198 | RETURN_DIRECT_SOLVER_PTR(AccelerateLLT, "Eigen::AccelerateLLT");
| ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp:202:38: error: 'AccelerateLDLT' was not declared in this scope
202 | RETURN_DIRECT_SOLVER_PTR(AccelerateLDLT, "Eigen::AccelerateLDLT");
| ^~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp:124:57: note: in definition of macro 'RETURN_DIRECT_SOLVER_PTR'
124 | return std::make_unique<LinearSolverEigenDirect<EigenSolver< \
| ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp:125:24: error: template argument 1 is invalid
125 | polysolve::StiffnessMatrix>>>(Name); \
| ^~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp:125:24: note: in definition of macro 'RETURN_DIRECT_SOLVER_PTR'
125 | polysolve::StiffnessMatrix>>>(Name); \
| ^~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp:125:41: error: invalid operands of types '<unresolved overloaded function type>' and 'const char [22]' to binary 'operator>'
124 | return std::make_unique<LinearSolverEigenDirect<EigenSolver< \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| <unresolved overloaded function type>
125 | polysolve::StiffnessMatrix>>>(Name); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/polysolve-91f7e3a4a44df4ca541cb46923d5593a49254efd/src/polysolve/LinearSolver.cpp:202:13: note: in expansion of macro 'RETURN_DIRECT_SOLVER_PTR'
202 | RETURN_DIRECT_SOLVER_PTR(AccelerateLDLT, "Eigen::AccelerateLDLT");
| ^~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/polysolve.dir/src/polysolve/LinearSolver.cpp.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/build'
make[1]: *** [CMakeFiles/polysolve.dir/all] Error 2
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_polysolve/polysolve/work/build'
make: *** [all] Error 2
What version of macOS/compiler are you using here? It may be that the Eigen Accelerate wrapper only works with more recent version of the Accelerate solver.
What version of macOS/compiler are you using here? It may be that the Eigen Accelerate wrapper only works with more recent version of the Accelerate solver.
macOS 10.6, gcc 12.3.0. So yes, Accelerate is not the latest, but in most cases it works fine.
I do not think this is an Eigen3 problem, since we have some ports which use Eigen3 together with Accelerate (choice depends on the system and can be overridden, but older systems actually default to Accelerate), and that works with my system and compiler (I maintain some of those ports, so it is tested). For example, HIOP
: https://ports.macports.org/port/hiop/details (I verified now it is linked to Accelerate).
When I read the documentation of Accelerate for the error messages you reported, I see e.g. that vBool32 requires macOS 10.9+, or that SparseFactorization_t requires macOS 10.13+. That seems more like a Eigen problem than a Polysolve problem to be honest. I tried to look at how HIOP uses Accelerate, but I couldn't find any reference in the code.
Eigen3 on its own certainly works on MacOS at least back to 10.5. It won’t use full vectorization on CPUs using ISA below 2.06 since those do not support VSX (perhaps some Altivec code is still used whenever supported by hardware). I am not sure what macOS uses on Intel, but from what I understand, vector implementations are very different.
P. S. I need to check docs for older Accelerate and vecLibFort, what specifically was unsupported. I think a few Lapack functions were added rather recently, so those won’t be found and will need an alternative implementation like OpenBLAS.
Do you have a MWE project with CMake + .cpp using the Eigen::AccelerateLLT
and Eigen::AccelerateLDLT
solvers that works on macOS 10.5? The only thing we're doing in Polysolve is really call the vanilla Eigen Accelerate wrapper for now.
@jdumas If you could name a couple of specific projects that do use named functionality, I will see if they build and work on PowerPC. (I just do not know which inside parts of Eigen ports use.)
I think a simple main.cpp
that uses both Eigen::AccelerateLLT
and Eigen::AccelerateLDLT
to solve a random system would be enough to see if it compiles correctly or not.