Skip to content

Commit

Permalink
libicu docs (#6)
Browse files Browse the repository at this point in the history
* Add details to docs about libicu dependency on Linux
  • Loading branch information
jeffdgr8 authored Nov 29, 2023
1 parent a98b28f commit f02129e
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 2 deletions.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 0 additions & 2 deletions buildSrc/src/main/kotlin/libcblite.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
7 changes: 7 additions & 0 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -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](
Expand Down
12 changes: 12 additions & 0 deletions docs/platforms.md
Original file line number Diff line number Diff line change
Expand Up @@ -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](
Expand Down Expand Up @@ -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: |
Expand Down

0 comments on commit f02129e

Please sign in to comment.