aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md17
1 files changed, 17 insertions, 0 deletions
diff --git a/README.md b/README.md
index f26f23150..5f5dd4ddb 100644
--- a/README.md
+++ b/README.md
@@ -136,6 +136,23 @@ Note that the command above to set the build variant to debug is optional. Tests
are only built in debug.The `xmake` flags `-vD` can be useful to diagnose
`xmake` issues.
+### Distribution compatibility
+
+Builds for Linux have a dependency on a modern version of the C++ library that
+supports Zen's use of C++20 and the GCC-11 toolchain used (assuming the above
+build instructions are adhered to). However there is no guarantee that the this
+dependency is met when building on one Linux install and running on another. For
+example, at the time of writing the LTS version of Ubuntu and Debian do not have
+GCC-11's version of libstdc++.so.6 available in their package repositories.
+
+To solve this, `xmake bundle` will bundle the required C++ .so and zenserver
+binary together using AppImage. This can briefly be summarised as create a
+squashfs file system containing zenserver and any C++ shared objects list with
+`lld`. This file system is then concatenated with AppImage's runtime. This is
+implemented in `scripts/bundle_linux.sh`. More details can be found here;
+
+https://github.com/AppImage/AppImageKit
+
## Building on Mac
Building on Mac is very similar to Linux; install xmake, clone vcpkg and Zen and