-
Notifications
You must be signed in to change notification settings - Fork 168
Runtime error with homebrew netlib-native_system-linux-x86_64-natives.jar on CentOS 7.0 #66
Comments
hmm, looks like you're missing the cblas layer on top of BLAS (which is a fortran API). most distros compile the C API into the blas library. Check if you have a Or compile your own CBLAS against your fortran BLAS. Sources included in this project. Can you do an Does the reference lib work ok? |
Thanks @fommil ,
No missing so files hint here... The atlas-3.10.1-7.el7.x86_64 (CentOS 7) do not contain libcblas.so.3 which atlas-3.8.4-2.el6.x86_64 (CentOS 6.5) does. After install old version of atlas and arpack, the problem fixed.
|
I ran into this same issue -- in Fedora 21 atlas is packaged only with libsatlas.so (serial) and libtatlas.so (threaded) There's an apparently ongoing discussion of how to handle this here Anyway, now with fedora 21, you can't downgrade to atlas 3.8, so there's no easy way to get things working. I force installed an old rpm of 3.8 with 'rpm' rather than yum/dnf, but it's super hacky and might very well break things.. anyway, I'm just wondering if you have any other suggestions, is there a way to build netlib-java or otherwise directly specify with libraries to use? I tried making symlinks to the libsatlas.so library in the /lib64/atlas directory (same error). |
yeah, unfortunately the only thing I can recommend is to tell Fedora to learn how to package these projects correctly. You could try installing the debian/ubuntu equivalents. You don't need to recompile netlib-java. You just need to link it to a library at runtime that implements libblas.so.3 and liblapack.so.3 through symlinks. Try OpenBLAS or Intel's Math Kernel Library. They are faster anyway. |
Same issue for openSuse 13.2. Solved by removing repository version of atlas and installing the following rpm: |
Sorry for reviving this old issue, but it seems as of today Fedora still does not ship CBLAS with ATLAS or OpenBLAS. There seems to be an implementation available from GSL in The only solution that seemed to work was to run Java with |
GSL is GPL. Make sure that your application is correctly licensed GPL if distributing them linked to GSL. |
I'm not distributing any binaries with the LD_PRELOAD workaround applied, I only used it privately. I thought it might be useful to anyone ending up in this thread from Google. edit: contrary to my previous statement, preloading |
Hi,
I got a runtime error when running spark application.
/usr/java/jdk1.7.0_65/bin/java: symbol lookup error: /tmp/jniloader9104995036364593011netlib-native_system-linux-x86_64.so: undefined symbol: cblas_daxpy
Build steps
Same build steps work on CentOs 6.5, so maybe it caused by the library version.
gcc.x86_64 4.8.2-16.el7 @base
gcc-gfortran.x86_64 4.8.2-16.el7 @base
libgfortran.x86_64 4.8.2-16.el7 @base
blas.x86_64 3.4.2-4.el7 @base
lapack.x86_64 3.4.2-4.el7 @base
arpack.x86_64 3.1.3-2.el7 @epel
The text was updated successfully, but these errors were encountered: