After I upgrade to the latest Deeplearning4J release (beta4), my application returns the below error message:
https://gist.github.com/wanjizheng/9b4c817c1a2c2b591a476b578a04b92a
In summary, I think the beta4 depends (nd4j-cuda-10.0-1.0.0-beta4 more specifically) on glibc version 3 (/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found) where the previous releases don't. However, the problem is that we cannot upgrade to ver3 as whole OS relies on the current/old version, to have higher glibc version we need to upgrade the whole OS to RHEL7, which we have no license for.
Do you really need ver3 in beta4 and the future release?
Please indicate relevant versions, including, if relevant:
cc @sshepel - was this something we can and were going to fix before release?
If so, what's the status?
@wanjizheng could you please try to use latest snapshots for CUDA backend, they were built on centos6, just to make sure that this solves your problem.
cc @AlexDBlack
Sure, but I probably need a few days before I can test it. Will let you know once I have the result.
@sshepel
Have tried it on two different clusters/machines but both of them return NoClassDefFoundError.
Error Log 1: https://gist.github.com/wanjizheng/056f0208516ca947403e6fb2e1a66368
Error Log 2: https://gist.github.com/wanjizheng/c26bbd3bbb067339f30561076c23e4d7
mvn -U clean install still works fine so I guess this is not a dependence error. The POM.xml file I use is: https://gist.github.com/wanjizheng/70da2b1f8552b4b0cd4c4061e2f9b412
Your jar isn't an uber jar probably, so it doesn't contain any classes you've specified in dependencies. So, either point java to proper classpath, or build uber jar.
@raver119 with the configurations between line79 and 110 in the POM file, the jar file should be an executable jar with the correct dependencies lib path. It works fine with the none-snapshots DL4J.
It's easy to confirm. Check file size of your jar, and open it as archive to see if there are binaries and classes it complains about.
It is not a uber jar, but I have pointed it to the right lib path. It works fine if I switch it back to the none-snapshots version. Very strange, but it is not really related to the issue I logged in the first place.
Regards to the Glibc dependency issue. I manage to debug the application (after applying the snapshots version) from the IDE, and it seems to work now. I will close this issue now, and if the "uber jar" problem persists in the beta5 release, I'll log a new issue.