Let’s Build Couchbase Lite .NET: Part 2, UWP

This is the second entry in an ongoing series about building Couchbase Lite .NET from source.  As I mentioned in a previous 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 UWP 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 »