Couchbase Lite on arm devices


#1

Hi,

We are currently using Couchbase Lite 1.2.0 on Android devices as well as several types of x86 based devices, all with great success. Its really great. However, we can not it to run on some ARM devices. Specially, we need it to run on Raspberry PIs with Raspbian (customer specification). How can we do this?

Our existing code code is all in Java, and we need to have the same codebase on all our different devices.

We thought this would be fairly easy, but it turns out we sqlite exceptions from the jar files, because it relies on native code, and none is supplied for arm. We tried to build new jar files by including libraries from Android based jars, which unsurprisingly didn’t work. We also tried building couchbase-lite-java from source, but that failed.


#2

The correct approach would be to build Couchbase-lite-java from source on ARM. It should work as several people already did it.
An old version is available here: https://github.com/couchbaselabs/pi-on-couch
and I know @juanmanuel.ventura did it recently as well.


#3

Hi,

We did try to build it from source, pull from github directly on the device, both master and release/1.2.0 as well as release/1.2.1 all of which failed. We used the default scripts, but errors occurred, and the failures happens within submodule couchbase-lite-java-native, https://github.com/couchbase/couchbase-lite-java-native, which doesn’t specify support for ARM. In fact, it fails because it tries to build for Linux amd64.
You say several others have already built it from source, could you please tell how they did it? Obviously the build scripts are not setup for it, and the README/wiki does not say how to build it. I tried tweaking with platform specific compiler options, but that didn’t help.

Would appreciate help with this.

Thanks


#4

Seems there isn’t much interest in this. I would have a thought Couchbase Lite on arm devices would be of great interest for many embedded and IoT projects. We are now switching to another DB engine since we are not moving forward with this.


#5

Can you give more details on what errors you’re getting? This is SQLite that’s not building?


#6

We’d like building for ARM/Linux to be straightforward, but as we don’t have any customers using these platforms yet, it isn’t as high a priority as Android or iOS.

It would help if you could file an issue against the couchbase-lite-java repo describing the specific problems you’ve had. (Oh, but first try building the master branch, as the 1.2.x releases are several months behind the current source.)


#7

Jens,

We are currently using Couchbase lite java 1.1 for our print queue in concert with our iOS Point-of-Sale app which is running 1.3.1. We are concerned about the difference in version since printing is extremely important to our customers. We have been trying to build our own version for months now with no success. If someone can point us in the right direction we would love to help and test a build.

Thanks!


#8

I have a blog post about building the jar for ARM https://borrrden.wordpress.com/2016/08/11/couchbase-lite-on-raspberry-pi/


#9

Thanks! We got it going thanks to your blog.