Comments (12)
Hello jap226,
it seems that the the JNI files do not exist. They are not included in the sources as they are pretty large. You have to compile those from scratch, or extract them from the precompiled jar files.
See the file INSTALL under the section "COMPILING THE NATIVE PART". It might be that you also need to compile ATLAS. See the ile BUILDING_ATLAS under the heading "Mac OS X". I compiled it using mac ports.
Good luck!
-M
from jblas.
Hm, on second inspection, I actually checked in the files under native-libs. Can you tell me what files you find under "native-libs".
from jblas.
There are a series of folders:
-native-libs
-static
-Linux
-Mac OS X
-Windows
if you go in the Mac OS X folder there is:
-i386
-x86_64
in the x86_64 folder there is
"libjblas_arch_flavor.jnilib"
-sse3 (a folder)
the folder "sse3" that has the file "libjblas.jnilib".
I don't remember if I mention that I am working in 64bit Java.
Thanks.
from jblas.
Hm... very odd, it all seems to be there. Can you send me the output of java -jar jblas-(insert your version here).jar?
from jblas.
Hi, I'm just running the simple test code:
SanityChecks.checkVectorAddition();
ArchFlavor.overrideArchFlavor("SSE3");
SanityChecks.checkEigenvalues();
and the output is:
Starting jBLAS EigenvalueDecomposition
checking vector addition... ok
-- org.jblas ERROR Couldn't load copied link file: java.lang.UnsatisfiedLinkError: /private/var/folders/dy/dyBwkLfgEIC3mw-aTd3uj++++Tc/-Tmp-/jblas5360203922203535106libjblas_arch_flavor.jnilib: no suitable image found. Did find: /private/var/folders/dy/dyBwkLfgEIC3mw-aTd3uj++++Tc/-Tmp-/jblas5360203922203535106libjblas_arch_flavor.jnilib: unknown required load command 0x80000022.
Exception in thread "main" java.lang.UnsatisfiedLinkError: Couldn't find the resource libjblas.jnilib.
at org.jblas.util.LibraryLoader.loadLibrary(LibraryLoader.java:119)
at org.jblas.NativeBlas.(NativeBlas.java:84)
at org.jblas.util.SanityChecks.checkEigenvalues(SanityChecks.java:122)
at gs.rrEmma.EigenTester.main(EigenTester.java:81)
from jblas.
Also, without the code:
ArchFlavor.overrideArchFlavor("SSE3");
I get the error:
Starting jBLAS EigenvalueDecomposition
checking vector addition... ok
-- org.jblas ERROR Couldn't load copied link file: java.lang.UnsatisfiedLinkError: /private/var/folders/dy/dyBwkLfgEIC3mw-aTd3uj++++Tc/-Tmp-/jblas244329846253217554libjblas_arch_flavor.jnilib: no suitable image found. Did find: /private/var/folders/dy/dyBwkLfgEIC3mw-aTd3uj++++Tc/-Tmp-/jblas244329846253217554libjblas_arch_flavor.jnilib: unknown required load command 0x80000022.
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.jblas.util.ArchFlavor.SSELevel()I
at org.jblas.util.ArchFlavor.SSELevel(Native Method)
at org.jblas.util.ArchFlavor.archFlavor(ArchFlavor.java:69)
at org.jblas.util.LibraryLoader.addFlavor(LibraryLoader.java:179)
at org.jblas.util.LibraryLoader.loadLibrary(LibraryLoader.java:103)
at org.jblas.NativeBlas.(NativeBlas.java:84)
at org.jblas.util.SanityChecks.checkEigenvalues(SanityChecks.java:122)
at gs.rrEmma.EigenTester.main(EigenTester.java:81)
from jblas.
Hi,
Update... I have been working on a Quad-Core MacPro with OS X 10.5.8. which is where all of these problems have been coming up. I just got a new MacBookPro with OS X 10.6.3. I tried jBLAS on this machine and it works great. No problem. (Computed eigenvalues for a 1000x1000 matrix in 0.7 seconds compared to 25 seconds for pure java implementation!)
Anyway, I don't really know what the difference would be other that the OS X version.
from jblas.
Hi jap226,
sorry for the problems. The machine I built jblas for is in fact a Mac OS X 10.6 machine. No idea what went wrong with 10.5, either... . Unfortunately, I'm not that much of a Mac-guy.
Anyway, have you sent me the results of "java -jar jblas-1.0.2.jar" ? Those contain a bit more logging information, in particular where it is looking for the shared libraries... .
We probably should also move the discussion over to http://groups.google.com/group/jblas-users
-M
from jblas.
Hi,
I have a similar issue.
I am developing on MacOSX 10.6.4 and everything works fine. But when I deploy on a 64bit Ubuntu machine I get the following execption:
-- org.jblas ERROR Couldn't load copied link file: java.lang.UnsatisfiedLinkError: /tmp/jblas2521556716648893575libjblas_arch_flavor.so: libgfortran.so.3: cannot open shared object file: No such file or directory.
Exception in thread "Thread-4" java.lang.UnsatisfiedLinkError: org.jblas.util.ArchFlavor.SSELevel()I
at org.jblas.util.ArchFlavor.SSELevel(Native Method)
at org.jblas.util.ArchFlavor.archFlavor(ArchFlavor.java:69)
at org.jblas.util.LibraryLoader.loadLibrary(LibraryLoader.java:75)
at org.jblas.NativeBlas.(NativeBlas.java:84)
at org.jblas.SimpleBlas.syevr(SimpleBlas.java:624)
at org.jblas.Eigen.symmetricEigenvectors(Eigen.java:142)
at com.synesty.jung.algorithms.SpectralClusterer.transform(SpectralClusterer.java:92)
The output of java -jar jblas-1.1.1.jar is the following:
java -jar jblas-1.1.1.jar
Simple benchmark for jblas
Running sanity benchmarks.
checking vector addition... ok
-- org.jblas CONFIG BLAS native library not found in path. Copying native library from the archive. Consider installing the library somewhere in the path (for Windows: PATH, for Linux: LD_LIBRARY_PATH).
-- org.jblas CONFIG ArchFlavor native library not found in path. Copying native library libjblas_arch_flavor from the archive. Consider installing the library somewhere in the path (for Windows: PATH, for Linux: LD_LIBRARY_PATH).
-- org.jblas CONFIG Loading libjblas_arch_flavor.so from /lib/static/Linux/amd64/.
-- org.jblas ERROR Couldn't load copied link file: java.lang.UnsatisfiedLinkError: /tmp/jblas154268473926467448libjblas_arch_flavor.so: libgfortran.so.3: cannot open shared object file: No such file or directory.
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.jblas.util.ArchFlavor.SSELevel()I
at org.jblas.util.ArchFlavor.SSELevel(Native Method)
at org.jblas.util.ArchFlavor.archFlavor(ArchFlavor.java:69)
at org.jblas.util.LibraryLoader.loadLibrary(LibraryLoader.java:75)
at org.jblas.NativeBlas.<clinit>(NativeBlas.java:84)
at org.jblas.SimpleBlas.gemm(SimpleBlas.java:223)
at org.jblas.DoubleMatrix.mmuli(DoubleMatrix.java:1672)
at org.jblas.DoubleMatrix.mmul(DoubleMatrix.java:3003)
at org.jblas.util.SanityChecks.checkMatrixMultiplication(SanityChecks.java:91)
at org.jblas.util.SanityChecks.main(SanityChecks.java:173)
at org.jblas.benchmark.Main.main(Main.java:109)
The content of the lib folder of my jblas-1.1.1.jar is the following:
gast-4101:~/Desktop/temp/jblas-1.1.1/lib christophrueger$ ls -R
static
./static:
Linux Mac OS X Windows
./static/Linux:
amd64 i386
./static/Linux/amd64:
libjblas_arch_flavor.so sse2 sse3
./static/Linux/amd64/sse2:
libjblas.so
./static/Linux/amd64/sse3:
libjblas.so
./static/Linux/i386:
libjblas_arch_flavor.so sse2 sse3
./static/Linux/i386/sse2:
libjblas.so
./static/Linux/i386/sse3:
libjblas.so
./static/Mac OS X:
x86_64
./static/Mac OS X/x86_64:
libjblas_arch_flavor.jnilib sse3
./static/Mac OS X/x86_64/sse3:
libjblas.jnilib
./static/Windows:
x86
./static/Windows/x86:
jblas_arch_flavor.dll sse2 sse3
./static/Windows/x86/sse2:
jblas.dll
./static/Windows/x86/sse3:
jblas.dll
All outputs are produced on the Linux / Ubuntu box.
Java Version on the Linux box:
java -version
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.2) (6b18-1.8.2-4ubuntu2)
OpenJDK 64-Bit Server VM (build 16.0-b13, mixed mode)
I would appreciate any ideas.
Thanks
Christoph
from jblas.
Hi,
for 64 bit Ubuntu, you need to install the gfortran runtime "sudo aptitude install libgfortran3".
The reason is that for 64bit having -fPIC (position independent code or not) is important and I cannot link the existing (static) gfortran library into jblas because it is not compiled with position independent code.
Installing the runtime should solve your problems.
-M
from jblas.
Hi Mikio,
thanks for the hint. Installing libgfortran3 on that machine worked.
Thanks
Christoph
from jblas.
Alright, I've added a warning to the configure script.
Closing the ticket now.
from jblas.
Related Issues (20)
- GPU-support for JBLAS
- Compiling 64 bit windows is now possible using cygwin? HOT 2
- Name of automatic module 'jblas' is unstable, it is derived from the module's file name. HOT 3
- Why jblas in different platform has huge different performance HOT 4
- Add xGETRF/xGETRS HOT 1
- Update dependency on libgfortran3 HOT 12
- LAPACK 3.3.0 Bug: "XERBLA: Error on argument -1 for *unknown function* DLASD8 (how odd!)" HOT 4
- Move every platform to openblas
- Get FORTRAN function signatures from files, not lapack-lite
- JAR download for JBLAS 1.2.5 HOT 8
- Logical error of function nei HOT 2
- Implement four-quadrant inverse tangent HOT 1
- I did some benchmark somehow the matrix mul performs consistently slower than java ojalgo. HOT 7
- [FreeBSD] `mmul` and Execution error (UnsatisfiedLinkError) at org.jblas.NativeBlas/dgemm HOT 24
- Must use GetPrimitiveArrayCritical instead of Get<type>ArrayElements for better performance HOT 1
- Add rmmuli
- Cannot compile with latest version of LAPACK (3.10) on Windows 10 HOT 1
- JDK crash multithreading HOT 1
- Can't Compile With Latest Version 3.10.0 On Mac Monterey With M1 HOT 3
- mat-mul error on an M3 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jblas.