Unable to build cblite for Enterprise

Hello all, I’m attempting to build cblite so that it is capable of using enterprise features of Couchbase Lite. Specifically, I’d like to be able to inspect encrypted databases.

I found a preprocessor define that needs to be set to enable this, COUCHBASE_ENTERPRISE , and I’ve set it in the CMakeLists.txt file in the “cblite” subdirectory. After attempting to build with this new define, I found that SQLITE_HAS_CODEC also needed to be defined. That got me a bit further, but the build now cannot find an entire directory in the “vendor” subdirectory called “couchbase-lite-core-EE,” which I assume is an alternate version of the “couchbase-lite” submodule already present in that directory.

Can someone help me locate that repository so that I can build for enterprise? I would expect it to be located here: https://github.com/couchbase alongside “couchbase-lite-core,” but it isn’t.

FYI, I’ve also asked this question on the couchbase-mobile-tools Github page: https://github.com/couchbaselabs/couchbase-mobile-tools/issues/23

You can’t build the Enterprise Edition yourself. That’s sort of the point; it’s the thing we charge money for. If you want to use EE features, contact our sales team to get a license.

Some parts of CBL-EE are closed-source. In particular, database encryption is handled by the SQLite Encryption Extension, which is likewise a commercial product, that we’ve licensed from the SQLite developers. It’s not available without a license from them.

Yes, I understand that enterprise features require a license/money. But it was unclear to me until right now that the enterprise code was closed-source, especially because the enterprise nuget packages are publicly available without prior purchase of a license.

That and Couchbase support seemed unaware of the permissions for the couchbase-lite-ee repository, as they directed me to try to find it without pointing me toward licensing.

The underlying issue is how to provide a version of cblite that can open encrypted databases. Let’s close this thread and keep discussion on the Github page to avoid duplication.

2 Likes