Let’s Build Couchbase Lite .NET: Part 1, .NET Core

This is the first entry in an ongoing series about building Couchbase Lite .NET from source.  As I mentioned in my last post, I am too close and familiar with the library and I often forget that it is complicated and annoying to build without the amount of full time work that I have spent with it.  This entry will feature .NET Core as the target.

Read More »


Obtuse problems with Windows Phone

So a user reported to me that Windows Phone running anything older than the very latest version of Windows 10 would fail to do anything with Couchbase Lite.  The exception being thrown was DllNotFoundException.  This particular exception is ridiculous because what it actually means is “cannot find a native DLL, or one of the native DLLs it depends on.”  So what was the offending DLL in this case?  Let’s analyze!

Read More »

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!