Short question. I have managed to get to this error a couple times trying to build ND4J and then run it standalone class path.
Exception in thread “main” java.lang.NoClassDefFoundError: org/bytedeco/javacpp/openblas
at org.nd4j.linalg.cpu.nativecpu.blas.CpuBlas.setMaxThreads(CpuBlas.java:120)
Where should this class be found?
I opened an incident on this…
deeplearning4j/nd4j/issues/2947
Searching my machine or Google I have been unable to determine where a org.bytedeco/javacpp/openblas class might be. I did find javacpp-presets gives you a couple locations for the class but in different packages.
Generally on building OS/X as mentioned in the issue it appeared changing to this in the nd4j pom.xml
seemed needed
<lombok.version>1.18.20</lombok.version>
Today I tried it again first running into this error. (Nd4jbackend) NoAvailableBackendException with…
Please see: http://nd4j.org/getstarted.html
hardcoded directly in the exception. This is a busted link.
I tried to follow this for today’s attempt
https://github.com/eclipse/deeplearning4j/blob/master/libnd4j/macOSx10%20(CPU%20only).md
The gcc-5 recommendation seems a little dated. Unfortunately I didn’t save all the output from my attempts but before getting gcc squared away to run buildnativeoperations.sh…
I had errors that _stdio.h couldn’t be found. I also had…
dyld: lazy symbol binding failed: Symbol not found: ___emutls_get_address
Referenced from: /usr/local/opt/gcc@5/lib/gcc/5/libgomp.1.dylib
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: ___emutls_get_address
Referenced from: /usr/local/opt/gcc@5/lib/gcc/5/libgomp.1.dylib
Expected in: /usr/lib/libSystem.B.dylib
I found this issues/8217 suggesting gcc-8 as more current so I tried changing to that. (I’m only allowed 3 links on my first post).
I think for one doing
gcc unlink gcc@5
cmake still seemed sort of stuck expecting gcc-5 so I changed buildnativeoperations.sh to…
eval $CMAKE_COMMAND -D CMAKE_C_COMPILER=gcc-8 -D CMAKE_CXX_COMPILER=g+±8 “$BLAS_ARG” “$ARCH_ARG” “$NAME_ARG” “$SHARED_LIBS_ARG” “$MINIFIER_ARG” “$OPERATIONS_ARG” “$BUILD_TYPE” “$PACKAGING_ARG” “$EXPERIMENTAL_ARG” “$CUDA_COMPUTE” -DDEV=FALSE -DMKL_MULTI_THREADED=TRUE …/…
maybe the OS/X directions should be changed to reflect that gcc-8 be preferred to start with?
But this got me back to the same error above I had gotten just throwing jars and dylibs at my test.
If anyone can tell me where the org/bytedeco/javacpp/openblas class should be found or what I should change so it doesn’t expect it I would appreciate ti.
Thanks.