When your build environment sucks…

I recently ran into a mysterious C++ error that was deeply rooted in the C++ standard library.  All that was happening was that I was trying to initialize an std::atomic variable with a value.  But this was the result:

/usr/include/c++/v1/atomic:945:58: error: no viable conversion from
          'C4ReplicatorStatus' to '_Atomic(C4ReplicatorStatus)'
      _LIBCPP_CONSTEXPR __atomic_base(_Tp __d) _NOEXCEPT : __a_(__d) {}
                                                           ^    ~~~
/usr/include/c++/v1/atomic:1054:51: note: in instantiation of member function
          'std::__1::__atomic_base<C4ReplicatorStatus, false>::__atomic_base'
          requested here
      _LIBCPP_CONSTEXPR atomic(_Tp __d) _NOEXCEPT : __base(__d) {}
/home/jenkins/workspace/litecore-linux/label/s61112cnt72 (litecore)/Replicator/c4Replicator.cc:99:6: note:
          in instantiation of member function
          'std::__1::atomic::atomic' requested here

Read More »

Unity3D is making progress!

There is now a beta (editor only) for using .NET 4.6.  This is been years coming!  I was successfully able to compile and run the .NET 4.5 version of Couchbase Lite with it.  It crashed pretty quickly but I’ll figure out what’s going on with that later.  The point is that IT COMPILED!  Here is a link to the latest build that has this feature.  I can’t wait for this to be available on the players!

Couchbase Lite on Raspberry Pi

I’ve used .NET for many years and I am pretty confident about almost everything dealing with it, so I decided to challenge myself and see what I can figure out about Java and Gradle.  A lot of Couchbase Lite users have been asking about how to run Couchbase Lite on their raspberry pi devices, and the answer is we’ve basically never tried it (we did once back around May 2014 but that was before I joined the company).  In theory it is simple, but in practice it is confusing but in the end pretty simple.

Read More »

What to do with all these platforms?

Developing sample applications becomes a bit of a hassle when you support as many platforms as Couchbase Lite .NET does.  However, there is a great library available (that I’m sure many people are already familiar with) that makes it far less painful.  In this post I will talk a bit about how I’ve used it, and how I will continue using it, to make my life easier when it comes to sharing code between platforms.

Read More »

What is SQLitePCL?

Note: I meant to write this earlier but I’ve been unbelievably busy with work and traveling.  Here it is at long last.

If you use Couchbase Lite then perhaps you have notice a dependency we have called SQLitePCL. You might be wondering what this is, or perhaps you’ve checked out the repo only to be confused. I work with it extensively and so I thought I’d talk a bit about it.

Read More »