0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-21 17:31:21 +01:00

Updated BUILD (markdown)

Jason Volk 2020-10-21 21:54:27 -07:00
parent 2333066f73
commit 4c3eb64a21

@ -5,7 +5,7 @@
- Ubuntu Cosmic (18.10) through Focal (20.04):
```autoconf autoconf-archive autoconf2.13 automake autotools-dev boost1.71 build-essential git libbz2-dev libmagic-dev libnss-db libsodium-dev libssl-dev libtool shtool xz-utils libgraphicsmagick1-dev libgraphicsmagick-q16-3 libicu-dev libjemalloc-dev liblz4-dev libzstd-dev librocksdb-dev clang-10```
THE COMPLETE SOURCE-CODE OF ROCKSDB MUST BE AVAILABLE TO BUILD CONSTRUCT. This is different from the `include/` and `lib/` files installed by your distribution's package system. Most platforms do not have to build the source, but it must be available.
THE COMPLETE SOURCE-CODE OF ROCKSDB MUST BE AVAILABLE TO BUILD CONSTRUCT. This is different from the `include/` and `lib/` files installed by your distribution's package system. Most platforms do not have to build the source, but it must be available.
```
git submodule update --init deps/rocksdb
@ -16,15 +16,20 @@
> 👉 For best performance and stability, please check for the version available on
your system and match that with the `git checkout` command above.
> 🛑 RocksDB 6.10.X and 6.11.X have a bug and should not be used. If you are affected by these versions please add `--with-included-rocksdb=v6.12.6` to `./configure` when instructed below.
2. **Review special requirements for your platform**
- Ubuntu (ALL RELEASES):
- #### Arch Linux
RocksDB versions 6.10.X and 6.11.X should not be used. If the RocksDB package version falls within this range (i.e. 6.10.2-1) you must configure with `--with-included-rocksdb=v6.12.6`.
- #### Ubuntu
You must configure Construct with the option `--with-included-rocksdb`. This will fetch and properly build rocksdb.
> Ubuntu builds their library with `-Bsymbolic-functions`. This conflicts with
the requirements of Construct's embedding.
- Ubuntu Bionic (18.04) and earlier:
- ##### Ubuntu Bionic (18.04) and earlier
Remove `boost1.71` from the package list in the earlier section; add `--with-included-boost` to `./configure` when instructed below.
@ -42,10 +47,10 @@ especially for development. Example `--prefix=$HOME/.local/`.
4. **Build Construct**
> 🛑 Do not set your `--prefix` path to a directory inside your git repository or an invocation of `git clean` will erase your database in $prefix/var/db/.
> ❗ Any `--with-included-*` option to configure will fetch, configure **and build** the dependencies included as submodules. The result cannot be installed on the system without this repository remaining intact. Please review the special requirements first to understand which options you need or don't need on your system.
> 👉 Do not set your `--prefix` path to a directory inside your git repository or an invocation of `git clean` will erase your database in $prefix/var/db/.
```
export CXX=clang++
export CC=clang
@ -70,7 +75,7 @@ git reset --hard && git clean -f -x -d
Those wishing to contribute new functionality or diagnose difficult bugs will benefit from several configuration options. This configuration generates a significant amount of additional code and instrumentation, in addition to full debug logging. The server may consume additional CPU and memory resources.
> Until the resolution of [#84](https://github.com/matrix-construct/construct/issues/84) it is advised to sterilize the build environment before any re-`./configure`.
> Until the resolution of [#84](https://github.com/matrix-construct/construct/issues/84) it is advised to sterilize the build environment before any re-`./configure`.
> All `--with-included-` and other platform-specific build options remain the same and must be applied to these recipes.