You can [build signal-cli](#building) yourself, or use the [provided binary files](https://github.com/AsamK/signal-cli/releases/latest), which should work on Linux, macOS and Windows. For Arch Linux there is also a [package in AUR](https://aur.archlinux.org/packages/signal-cli/) and there is a [FreeBSD port](https://www.freshports.org/net-im/signal-cli) available as well.
System requirements:
-- at least Java Runtime Environment (JRE) 11
+- at least Java Runtime Environment (JRE) 17
- native libraries: libzkgroup, libsignal-client
Those are bundled for x86_64 Linux (with recent enough glibc, see #643), for other systems/architectures see: [Provide native lib for libsignal](https://github.com/AsamK/signal-cli/wiki/Provide-native-lib-for-libsignal)
./gradlew build
-3. Create shell wrapper in *build/install/signal-cli/bin*:
+ 3a. Create shell wrapper in *build/install/signal-cli/bin*:
./gradlew installDist
-4. Create tar file in *build/distributions*:
+ 3b. Create tar file in *build/distributions*:
./gradlew distTar
+ 3c. Compile and run signal-cli:
+
+ ./gradlew run --args="--help"
+
### Building a native binary with GraalVM (EXPERIMENTAL)
It is possible to build a native binary with [GraalVM](https://www.graalvm.org).
2. [Install prerequisites](https://www.graalvm.org/reference-manual/native-image/#prerequisites)
3. Execute Gradle:
- ./gradlew assembleNativeImage
+ ./gradlew nativeCompile
- The binary is available at *build/native-image/signal-cli*
+ The binary is available at *build/native/nativeCompile/signal-cli*
## FAQ and Troubleshooting
For frequently asked questions and issues have a look at the [wiki](https://github.com/AsamK/signal-cli/wiki/FAQ)