grame-cncm / faust

Functional programming language for signal processing and sound synthesis
http://faust.grame.fr
Other
2.58k stars 322 forks source link

cannot build mesh2faust #916

Closed FinishedBz1 closed 1 year ago

FinishedBz1 commented 1 year ago

errors occured at the 'make' step. Please help me, I'd love to use this tool!

There are problems at vega/libraries/matrix/matrixProjection.cpp Input: make Output: g++ -Wall -std=c++14 -Wno-write-strings -O2 -c -Ivega/libraries/include -I/usr/X11R6/include -I/usr/include -I/usr/include/mkl -I/opt/intel/mkl/include vega/libraries/matrix/matrixProjection.cpp -o vega/libraries/matrix/matrixProjection.o vega/libraries/matrix/matrixProjection.cpp:55:34: error: ‘CBLAS_ORDER’ does not name a type 55 | inline static void f (const CBLAS_ORDER order, | ^~~ vega/libraries/matrix/matrixProjection.cpp:56:25: error: ‘CBLAS_TRANSPOSE’ does not name a type 56 | const CBLAS_TRANSPOSE trans, const int m, const int n, | ^~~~~~~ vega/libraries/matrix/matrixProjection.cpp: In static member function ‘static void _cblas_xgemv::f(int, int, int, int, float, const float, int, const float, int, float, float, int)’: vega/libraries/matrix/matrixProjection.cpp:60:8: error: ‘cblas_sgemv’ was not declared in this scope; did you mean ‘_cblas_xgemv’? 60 | { cblas_sgemv(order, trans, m, n, alpha, a, lda, x, incx, beta, y, incy);} | ^~~ | _cblas_xgemv vega/libraries/matrix/matrixProjection.cpp: At global scope: vega/libraries/matrix/matrixProjection.cpp:66:34: error: ‘CBLAS_ORDER’ does not name a type 66 | inline static void f (const CBLAS_ORDER order, | ^~~ vega/libraries/matrix/matrixProjection.cpp:67:25: error: ‘CBLAS_TRANSPOSE’ does not name a type 67 | const CBLAS_TRANSPOSE trans, const int m, const int n, | ^~~~~~~ vega/libraries/matrix/matrixProjection.cpp: In static member function ‘static void _cblas_xgemv::f(int, int, int, int, double, const double, int, const double, int, double, double, int)’: vega/libraries/matrix/matrixProjection.cpp:71:8: error: ‘cblas_dgemv’ was not declared in this scope; did you mean ‘_cblas_xgemv’? 71 | { cblas_dgemv(order, trans, m, n, alpha, a, lda, x, incx, beta, y, incy);} | ^~~ | _cblas_xgemv vega/libraries/matrix/matrixProjection.cpp: In function ‘void SynthesizeVector(int, int, real, real, real)’: vega/libraries/matrix/matrixProjection.cpp:83:3: error: ‘CBLAS_ORDER’ was not declared in this scope 83 | CBLAS_ORDER order= CblasColMajor; | ^~~ vega/libraries/matrix/matrixProjection.cpp:84:3: error: ‘CBLAS_TRANSPOSE’ was not declared in this scope 84 | CBLAS_TRANSPOSE trans= CblasNoTrans; | ^~~~~~~ vega/libraries/matrix/matrixProjection.cpp:96:48: error: ‘order’ was not declared in this scope 96 | _cblas_xgemv<sizeof(real)==sizeof(float)>::f(order, trans, m, n, alpha, a, lda, x, incx, beta, y, incy); | ^~~~~ vega/libraries/matrix/matrixProjection.cpp:96:55: error: ‘trans’ was not declared in this scope 96 | _cblas_xgemv<sizeof(real)==sizeof(float)>::f(order, trans, m, n, alpha, a, lda, x, incx, beta, y, incy); | ^~~~~ vega/libraries/matrix/matrixProjection.cpp: In function ‘void ProjectVector(int, int, real, real, real)’: vega/libraries/matrix/matrixProjection.cpp:135:3: error: ‘CBLAS_ORDER’ was not declared in this scope 135 | CBLAS_ORDER order= CblasColMajor; | ^~~ vega/libraries/matrix/matrixProjection.cpp:136:3: error: ‘CBLAS_TRANSPOSE’ was not declared in this scope 136 | CBLAS_TRANSPOSE trans= CblasTrans; | ^~~~~~~ vega/libraries/matrix/matrixProjection.cpp:148:48: error: ‘order’ was not declared in this scope 148 | _cblas_xgemv<sizeof(real)==sizeof(float)>::f(order, trans, m, n, alpha, a, lda, x, incx, beta, y, incy); | ^~~~~ vega/libraries/matrix/matrixProjection.cpp:148:55: error: ‘trans’ was not declared in this scope 148 | _cblas_xgemv<sizeof(real)==sizeof(float)>::f(order, trans, m, n, alpha, a, lda, x, incx, beta, y, incy); | ^~~~~ make: *** [vega/libraries/matrix/Makefile:36: vega/libraries/matrix/matrixProjection.o] Error 1

rmichon commented 1 year ago

Have you installed the Intel MKL library? It looks like it's not finding some dependencies. What Linux distribution are you using?

FinishedBz1 commented 1 year ago

I am using Manjaro (arch). I have installed the mkl library and I fixed the problem by manually moving files on an ubuntu system. Unfortunately my ubuntu does not seem to boot any more. I am probably going to reinstall ubuntu since it worked there.

FinishedBz1 commented 1 year ago

I cannot even remember what I did exactly but it compiled mesh2faust succesfully. It was a mess.

I fixed that particular problem by moving /usr/include/mkl/mkl_cblas.h into the matrix library and then I did #include in the matrixProjection.cpp

FinishedBz1 commented 1 year ago

In my case the dependencies where not linked correctly. I do not need help at the moment. Ill try to reinstall my ubuntu system. Apparantly it worked there because the APT package manager installed the dependencies better.

On Manjaro I encounter so many problems I do not know where to start. I have never encounted anything more annoying than setting up the mkl