phpsci / phpsci-carray

[ARCHIVED] PHP library for scientific computing powered by C. See https://github.com/NumPower/numpower
https://numpower.org
MIT License
187 stars 14 forks source link

recipe for target 'kernel/common/cblas_funcs.lo' failed #26

Open doganoo opened 4 years ago

doganoo commented 4 years ago

Compiling on Ubuntu Xenial with Vagrant, I get the following error at the make test step:

/root/phpsci-carray-master/kernel/common/cblas_funcs.c:28:19: error: unknown type name ‘CBLAS_ORDER’
 gemm(int typenum, CBLAS_ORDER order,
                   ^
/root/phpsci-carray-master/kernel/common/cblas_funcs.c:29:6: error: unknown type name ‘CBLAS_TRANSPOSE’
      CBLAS_TRANSPOSE transA, CBLAS_TRANSPOSE transB,
      ^
/root/phpsci-carray-master/kernel/common/cblas_funcs.c:29:30: error: unknown type name ‘CBLAS_TRANSPOSE’
      CBLAS_TRANSPOSE transA, CBLAS_TRANSPOSE transB,
                              ^
/root/phpsci-carray-master/kernel/common/cblas_funcs.c:56:19: error: unknown type name ‘CBLAS_ORDER’
 syrk(int typenum, CBLAS_ORDER order, CBLAS_TRANSPOSE trans,
                   ^
/root/phpsci-carray-master/kernel/common/cblas_funcs.c:56:38: error: unknown type name ‘CBLAS_TRANSPOSE’
 syrk(int typenum, CBLAS_ORDER order, CBLAS_TRANSPOSE trans,
                                      ^
/root/phpsci-carray-master/kernel/common/cblas_funcs.c:144:19: error: unknown type name ‘CBLAS_ORDER’
 gemv(int typenum, CBLAS_ORDER order, CBLAS_TRANSPOSE trans,
                   ^
/root/phpsci-carray-master/kernel/common/cblas_funcs.c:144:38: error: unknown type name ‘CBLAS_TRANSPOSE’
 gemv(int typenum, CBLAS_ORDER order, CBLAS_TRANSPOSE trans,
                                      ^
/root/phpsci-carray-master/kernel/common/cblas_funcs.c: In function ‘cblas_matrixproduct’:
/root/phpsci-carray-master/kernel/common/cblas_funcs.c:420:9: error: unknown type name ‘CBLAS_ORDER’
         CBLAS_ORDER Order;
         ^
/root/phpsci-carray-master/kernel/common/cblas_funcs.c:443:9: warning: implicit declaration of function ‘gemv’ [-Wimplicit-function-declaration]
         gemv(typenum, Order, CblasNoTrans, ap1, lda, ap2, ap2s, out_buf);
         ^
/root/phpsci-carray-master/kernel/common/cblas_funcs.c:447:9: error: unknown type name ‘CBLAS_ORDER’
         CBLAS_ORDER Order;
         ^
/root/phpsci-carray-master/kernel/common/cblas_funcs.c:483:9: error: unknown type name ‘CBLAS_ORDER’
         CBLAS_ORDER Order;
         ^
/root/phpsci-carray-master/kernel/common/cblas_funcs.c:484:9: error: unknown type name ‘CBLAS_TRANSPOSE’
         CBLAS_TRANSPOSE Trans1, Trans2;
         ^
/root/phpsci-carray-master/kernel/common/cblas_funcs.c:547:17: warning: implicit declaration of function ‘syrk’ [-Wimplicit-function-declaration]
                 syrk(typenum, Order, Trans1, N, M, ap1, lda, out_buf);
                 ^
/root/phpsci-carray-master/kernel/common/cblas_funcs.c:554:13: warning: implicit declaration of function ‘gemm’ [-Wimplicit-function-declaration]
             gemm(typenum, Order, Trans1, Trans2, L, N, M, ap1, lda, ap2, ldb,
             ^
make: *** [kernel/common/cblas_funcs.lo] Error 1

I have installed the following php extensions:

sudo apt-get -y install apache2 php7.2 php7.2-mysql php7.2-mbstring php7.2-dom php7.2-sqlite php7.2-zip php7.2-curl php7.2-intl

sudo apt-get -y install curl composer zip unzip
root@ubuntu-xenial:~/phpsci-carray-master# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.7 LTS
Release:    16.04
Codename:   xenial

What am I doing wrong? Thanks in advance.

henrique-borba commented 4 years ago

Sorry about the previous answers, I got it totally wrong. It seems you don't have BLAS installed.

For ubuntu 16 install using:

sudo apt-get install libblas-dev liblapack-dev

henrique-borba commented 4 years ago

If you already installed BLAS (considering ./configure is supposed to detect it), maybe adding "enum" before each of those CBLAS_ enumerators should work.

I will post here a gist so you can replace the file and test it with thoses enums.