diff --git a/README.md b/README.md index 07d423202..bbe1d3f16 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,13 @@ repositories { } ``` +### Linux + +Targeting JVM running on Linux or native Linux, both require a specific version of the libicu dependency. (You will see +an error such as `libLiteCore.so: libicuuc.so.71: cannot open shared object file: No such file or directory` indicating +the expected version.) If the required version isn't available from your distribution's package manager, you can +download it from [GitHub](https://github.com/unicode-org/icu/releases). + ### Native Platforms Native platform targets should additionally link to the Couchbase Lite dependency native binary. See [Supported diff --git a/buildSrc/src/main/kotlin/libcblite.kt b/buildSrc/src/main/kotlin/libcblite.kt index 6f4824fe3..7ba60cf7f 100644 --- a/buildSrc/src/main/kotlin/libcblite.kt +++ b/buildSrc/src/main/kotlin/libcblite.kt @@ -25,8 +25,6 @@ import org.jetbrains.kotlin.konan.target.Architecture import org.jetbrains.kotlin.konan.target.Family import org.jetbrains.kotlin.konan.target.KonanTarget -// On Linux, install libicu v71 from vendor/libicu as -rpath and LD_LIBRARY_PATH both don't work to resolve - fun KotlinMultiplatformExtension.linkLibcblite(delegate: DelegatingProjectDependency) = linkLibcblite(delegate.dependencyProject) diff --git a/docs/installation.md b/docs/installation.md index 459c3c56b..b74604687 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -50,6 +50,13 @@ Couchbase Maven repository. } ``` +## Linux + +Targeting JVM running on Linux or native Linux, both require a specific version of the libicu dependency. (You will see +an error such as `libLiteCore.so: libicuuc.so.71: cannot open shared object file: No such file or directory` indicating +the expected version.) If the required version isn't available from your distribution's package manager, you can +download it from [GitHub](https://github.com/unicode-org/icu/releases). + ## Native Platforms Native platform targets should additionally link to the Couchbase Lite dependency native binary. See [Supported Platforms]( diff --git a/docs/platforms.md b/docs/platforms.md index bbbb6fc9a..728c7efbd 100644 --- a/docs/platforms.md +++ b/docs/platforms.md @@ -46,6 +46,13 @@ An application that enables ProGuard minification must ensure that certain piece |:---:|:----------------:|:----------------:|:----------------:| | 8+ | :material-check: | :material-check: | :material-check: | +#### JVM on Linux + +Targeting JVM running on Linux requires a specific version of the libicu dependency. (You will see an error such as +`libLiteCore.so: libicuuc.so.71: cannot open shared object file: No such file or directory` indicating the expected +version.) If the required version isn't available from your distribution's package manager, you can download it from +[GitHub](https://github.com/unicode-org/icu/releases). + ## iOS + macOS :fontawesome-brands-apple: Kotbase supports native iOS and macOS apps via the [Couchbase Lite Objective-C SDK]( @@ -127,6 +134,11 @@ Kotbase, e.g. libcblite {{ version_short }}.x for Kotbase {{ version }}. Linux also [requires](https://github.com/couchbase/couchbase-lite-core#linux) libz, libicu, and libpthread, which may or may not be installed on your system. +Targeting Linux requires a specific version of the libicu dependency. (You will see an error such as `libLiteCore.so: +libicuuc.so.71: cannot open shared object file: No such file or directory` indicating the expected version.) If the +required version isn't available from your distribution's package manager, you can download it from [GitHub]( +https://github.com/unicode-org/icu/releases). + | Distro | Version | x64 | ARM64 | |:---------------:|:-------:|:----------------:|:----------------:| | Debian | 9+ | :material-check: | :material-check: |