Small tweaks

This commit is contained in:
Boris Kuschel 2023-03-10 15:20:57 -05:00
parent 1df592b06b
commit 663b4fb4a8
No known key found for this signature in database
GPG Key ID: 41F888B501034AF3
2 changed files with 12 additions and 12 deletions

View File

@ -11,26 +11,26 @@ As of writing (2023/3/10) building for s390x considered to be experimental. Not
## Building
As s390x does not support boringssl, it uses OpenSSL and has two related build options.
- By default, the s390x build will dynamically link to OpenSSL libraries. It will build OpenSSL shared objects, so its not necessary to install OpenSSL beforehand. (This options is recommended in all cases.)
- Another option is to build OpenSSL in-tree. In this case two build options need to be supplied to cmake
- By default, the s390x build will dynamically link to OpenSSL libraries. It will build OpenSSL shared objects, so it's not necessary to install OpenSSL beforehand. (This option is recommended in all cases.)
- Another option is to build OpenSSL in-tree. In this case two build flags need to be supplied to cmake
```bash
-DENABLE_OPENSSL_DYNAMIC=0 -DENABLE_OPENSSL=1
```
These instructions assume that the host machine is x86_64 and has all the tooling required to build natively based on the [Build instructions](../development/build.md). It also assumes that the host is Ubuntu 22.04 but should work on Ubuntu 20.04.
These instructions assume that the host machine is x86_64 and has all the tooling required to build natively based on the [build instructions](../development/build.md). It also assumes that the host is Ubuntu 22.04 but the following instructions should also work on Ubuntu 20.04.
In addition to installing the tooling used to build natively the following additional packages need to be installed:
In addition to installing the tooling used to build natively, the following additional packages need to be installed:
```bash
apt-get install binutils-s390x-linux-gnu libc6-dev-s390x-cross gcc-s390x-linux-gnu binfmt-support qemu-user-static
```
If you wish to cross compile rust code..
If you wish to cross compile rust code install the rust cross compile target for s390x:
```bash
rustup target add s390x-unknown-linux-gnu
```
To build for s390x,
To build for s390x:
```bash
cmake -DCMAKE_TOOLCHAIN_FILE=cmake/linux/toolchain-s390x.cmake ..
ninja
@ -38,7 +38,7 @@ ninja
## Running
Once built, the binary can be run with:
Once built, the binary can be run with, eg.:
```bash
qemu-s390x-static -L /usr/s390x-linux-gnu ./clickhouse
@ -52,7 +52,7 @@ Install LLDB:
apt-get install lldb-15
```
To Debug a s390x executable run clickhouse using QEMU debug mode:
To Debug a s390x executable, run clickhouse using QEMU in debug mode:
```bash
qemu-s390x-static -g 31338 -L /usr/s390x-linux-gnu ./clickhouse
@ -90,8 +90,8 @@ Process 1 stopped
## Visual Studio Code integration
- (CodeLLDB extension)[https://github.com/vadimcn/vscode-lldb] is required for visual debugging, (Command Variable)[https://github.com/rioj7/command-variable] extension can help dynamic launches if using cmake variants.
- Make sure to set the backend to your llvm installation ex. `"lldb.library": "/usr/lib/x86_64-linux-gnu/liblldb-15.so"`
- (CodeLLDB extension)[https://github.com/vadimcn/vscode-lldb] is required for visual debugging, the (Command Variable)[https://github.com/rioj7/command-variable] extension can help dynamic launches if using (cmake variants)[https://github.com/microsoft/vscode-cmake-tools/blob/main/docs/variants.md].
- Make sure to set the backend to your llvm installation eg. `"lldb.library": "/usr/lib/x86_64-linux-gnu/liblldb-15.so"`
- Launcher:
```json
{
@ -120,4 +120,4 @@ Process 1 stopped
]
}
```
- Make sure to run the clickhouse executable in debug mode prior to launch. (It is possible to create a `preLaunchTask` that automates this)
- Make sure to run the clickhouse executable in debug mode prior to launch. (It is also possible to create a `preLaunchTask` that automates this)

View File

@ -1,4 +1,4 @@
personal_ws-1.1 en 544
personal_ws-1.1 en 543
AArch
ACLs
AMQP