joschu / cgt

Computation Graph Toolkit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OSX: Build fails with OpenBLAS dependency

jramapuram opened this issue · comments

brew install openblas works just fine.
Add an option to utilize a system installed openBLAS or if dependency coupling is that important then add logic to CMake for OSX & parallel from homebrew recipe.

➜  build git:(master) make
[ 28%] Built target cgt
[ 85%] Built target cycgt
[100%] Generating OpenBLAS/libopenblas.a
already downloaded openblas.tar.gz
mkdir -p /Users/jramapuram/projects/cgt/build/OpenBLAS && tar -xf openblas.tar.gz --directory /Users/jramapuram/projects/cgt/build/OpenBLAS  --strip-components=1
Compiling OpenBLAS...this will take a minute or so
make -j ONLY_CBLAS=1 NO_LAPACK=1 NO_LAPACKE=1 USE_OPENMP=0 NUM_THREADS=8
Undefined symbols for architecture x86_64:
  "_blas_cpu_number", referenced from:
      _goto_set_num_threads in libopenblas_haswellp-r0.2.14.a(blas_server.o)
      _gotoblas_pthread in libopenblas_haswellp-r0.2.14.a(blas_server.o)
  "_blas_get_cpu_number", referenced from:
      _gotoblas_pthread in libopenblas_haswellp-r0.2.14.a(blas_server.o)
  "_blas_num_threads", referenced from:
      _blas_thread_init in libopenblas_haswellp-r0.2.14.a(blas_server.o)
      _exec_blas_async in libopenblas_haswellp-r0.2.14.a(blas_server.o)
      _goto_set_num_threads in libopenblas_haswellp-r0.2.14.a(blas_server.o)
      _blas_thread_shutdown_ in libopenblas_haswellp-r0.2.14.a(blas_server.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [libopenblas_haswellp-r0.2.14.dylib] Error 1
make[3]: *** [shared] Error 2
Traceback (most recent call last):
  File "4build/download_and_build_openblas.py", line 25, in <module>
    call_and_print("make -j ONLY_CBLAS=1 NO_LAPACK=1 NO_LAPACKE=1 USE_OPENMP=0 NUM_THREADS=%i"%multiprocessing.cpu_count())
  File "4build/download_and_build_openblas.py", line 10, in call_and_print
    subprocess.check_call(cmd,shell=True)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'make -j ONLY_CBLAS=1 NO_LAPACK=1 NO_LAPACKE=1 USE_OPENMP=0 NUM_THREADS=8' returned non-zero exit status 2
make[2]: *** [OpenBLAS/libopenblas.a] Error 1
make[2]: *** Deleting file `OpenBLAS/libopenblas.a'
make[1]: *** [CMakeFiles/openblas.dir/all] Error 2
make: *** [all] Error 2

Hmm, not sure what fixed this, but it seems to be building and working now!