DeepGraphLearning / graphvite

GraphVite: A General and High-performance Graph Embedding System
https://graphvite.io
Apache License 2.0
1.22k stars 151 forks source link

configure: error: An implementation of BLAS is required but none was found #17

Closed xzyin closed 3 years ago

xzyin commented 5 years ago

Hi, I installed graphvite from source with comand

cd build && cmake .. && make && cd -

but raise

checking for /data/opt/anaconda3/envs/graphvite/bin/x86_64-conda_cos6-linux-gnu-c++ -std=c++11 option to support OpenMP... -fopenmp
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking if sgemm_ is being linked in already... no
checking for sgemm_ in -lmkl_intel_lp64... no
checking for sgemm_ in -lmkl... no
checking for sgemm_ in -lopenblas... no
checking for ATL_xerbla in -latlas... no
checking for sgemm_ in -lblas... no
checking for sgemm_ in -framework vecLib... no
checking for sgemm_ in -lcxml... no
checking for sgemm_ in -ldxml... no
checking for sgemm_ in -lscs... no
checking for sgemm_ in -lcomplib.sgimath... no
checking for sgemm_ in -lblas... (cached) no
checking for sgemm_ in -lblas... (cached) no
configure: error: An implementation of BLAS is required but none was found.
make[2]: *** [faiss/src/faiss-stamp/faiss-configure] Error 1
make[1]: *** [CMakeFiles/faiss.dir/all] Error 2

just like issue in faiss. but I have install openblas

my envs:

KiddoZhu commented 5 years ago

Could you describe where such error occurs?

xzyin commented 5 years ago

Could you describe where such error occurs?

Thank you for your reply, I described the problem in detail.

KiddoZhu commented 5 years ago

I'm not very familiar about the autoconf routine in faiss. In my case, faiss always works with mkl, a kind of BLAS. If you follow the instructions to install the requirements in conda, I think faiss should find mkl.

bangdo172 commented 5 years ago

I had the same problem

KiddoZhu commented 5 years ago

@bangdo172 I just checked on a bunch of environments and didn't reproduce this error. I think mkl should work if you are using Intel CPUs.

If it still doesn't work, a workaround might be

Faiss is only used by the visualization application in graphvite. I will add some compilation options so that you can skip the compilation of faiss.

bangdo172 commented 4 years ago

@bangdo172 I just checked on a bunch of environments and didn't reproduce this error. I think mkl should work if you are using Intel CPUs.

If it still doesn't work, a workaround might be

  • manually install openBLAS or mkl
  • compile faiss from source
  • compile graphvite with cmake .. -DFAISS_PATH=/path/to/faiss/ && make

Faiss is only used by the visualization application in graphvite. I will add some compilation options so that you can skip the compilation of faiss.

thank you so much