I want to use my java project on raspberry Pi. This code is dependent on sqlite4java, which uses embedded versions for many platforms, including arm processors.
The problem is that java cannot load the required sqlite shell for arm arm. I did the following:
Copy the entire version (numbered one after the other) precompiled libraries ( libsqlite4java-linux-armv5te.so, libsqlite4java-linux-armv7a.so, libsqlite4java-linux-arm.so), I renamed libsqlite4java-linux-arm.so.
The command java -Djava.library.path=. -jar sqlite4java.jar -ddisplays the result:
140213:092447.509 FINE [sqlite] Internal: loading library
140213:092447.536 FINE [sqlite] Internal: java.library.path=.
140213:092447.538 FINE [sqlite] Internal: sqlite4java.library.path=null
140213:092447.541 FINE [sqlite] Internal: cwd=/home/pi/sqlite4java-282/.
140213:092447.544 FINE [sqlite] Internal: default path=/home/pi/sqlite4java-282
140213:092447.554 FINE [sqlite] Internal: forced path=null
140213:092447.558 FINE [sqlite] Internal: os.name=linux; os=linux
140213:092447.562 FINE [sqlite] Internal: os.arch=arm
140213:092447.575 FINE [sqlite] Internal: trying to load sqlite4java-linux-arm from /home/pi/sqlite4java-282/libsqlite4java-linux-arm.so
140213:092447.596 FINE [sqlite] Internal: cannot load sqlite4java-linux-arm from /home/pi/sqlite4java-282/libsqlite4java-linux-arm.so: java.lang.UnsatisfiedLinkError: /home/pi/sqlite4java-282/libsqlite4java-linux-arm.so: /home/pi/sqlite4java-282/libsqlite4java-linux-arm.so: cannot open shared object file: No such file or directory
140213:092447.605 FINE [sqlite] Internal: trying to load sqlite4java-linux-arm
140213:092447.617 FINE [sqlite] Internal: cannot load sqlite4java-linux-arm: java.lang.UnsatisfiedLinkError: /home/pi/sqlite4java-282/libsqlite4java-linux-arm.so: /home/pi/sqlite4java-282/libsqlite4java-linux-arm.so: cannot open shared object file: No such file or directory
140213:092447.622 FINE [sqlite] Internal: trying to load sqlite4java-linux
140213:092447.627 FINE [sqlite] Internal: cannot load sqlite4java-linux: java.lang.UnsatisfiedLinkError: no sqlite4java-linux in java.library.path
140213:092447.638 FINE [sqlite] Internal: trying to load sqlite4java
140213:092447.642 FINE [sqlite] Internal: cannot load sqlite4java: java.lang.UnsatisfiedLinkError: no sqlite4java in java.library.path
140213:092447.645 FINE [sqlite] Internal: trying to load sqlite4java-linux-arm-d
140213:092447.660 FINE [sqlite] Internal: cannot load sqlite4java-linux-arm-d: java.lang.UnsatisfiedLinkError: no sqlite4java-linux-arm-d in java.library.path
140213:092447.676 FINE [sqlite] Internal: trying to load sqlite4java-linux-d
140213:092447.680 FINE [sqlite] Internal: cannot load sqlite4java-linux-d: java.lang.UnsatisfiedLinkError: no sqlite4java-linux-d in java.library.path
140213:092447.683 FINE [sqlite] Internal: trying to load sqlite4java-d
140213:092447.699 FINE [sqlite] Internal: cannot load sqlite4java-d: java.lang.UnsatisfiedLinkError: no sqlite4java-d in java.library.path
Error: cannot load SQLite
java.lang.UnsatisfiedLinkError: /home/pi/sqlite4java-282/libsqlite4java-linux-arm.so: /home/pi/sqlite4java-282/libsqlite4java-linux-arm.so: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1957)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1882)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1843)
at java.lang.Runtime.load0(Runtime.java:795)
at java.lang.System.load(System.java:1061)
at com.almworks.sqlite4java.Internal.tryLoadFromPath(Internal.java:337)
at com.almworks.sqlite4java.Internal.loadLibraryX(Internal.java:117)
at com.almworks.sqlite4java.SQLite.main(SQLite.java:368)
Tried to tune LD_LIBRARY_PATHin /usr/lib/arm-linux-gnueabihfand/usr/lib
There is a path in this file. I installed sqlite3and libsqlite3-dev. I use the latest raspbian distribution on the QEMU emulator:
$ uname -a
$ Linux raspberrypi 3.10.26+
Any help would be helpful.
Thanks!