Skip to main content
ClickHouse tiene soporte experimental para s390x.

Compilar ClickHouse para s390x

s390x, al igual que otras plataformas, compila OpenSSL como una biblioteca estática. Si desea compilar con OpenSSL dinámico, debe pasar -DENABLE_OPENSSL_DYNAMIC=1 a CMake. Estas instrucciones asumen que la máquina host ejecuta Linux x86_64/ARM y cuenta con todas las herramientas necesarias para compilar de forma nativa, según las instrucciones de compilación. También se asume que el host es Ubuntu 22.04, aunque las siguientes instrucciones también deberían funcionar en Ubuntu 20.04. Además de instalar las herramientas que se usan para compilar de forma nativa, también es necesario instalar los siguientes paquetes adicionales:
Para compilar para s390x:

Ejecución

Para emular, necesitarás el binario estático de usuario de QEMU para s390x. En Ubuntu se puede instalar con:
Una vez compilado, el binario se puede ejecutar con, por ejemplo:

Depuración

Instala LLDB:
Para depurar un ejecutable s390x, ejecute clickhouse con QEMU en modo de depuración:
En otra terminal, ejecute LLDB y haga attach; reemplace <Clickhouse Parent Directory> y <build directory> por los valores correspondientes a su entorno.

Integración con Visual Studio Code

  • La extensión CodeLLDB es necesaria para la depuración visual.
  • La extensión Command Variable puede facilitar los lanzamientos dinámicos si usa CMake Variants.
  • Asegúrese de configurar el backend para que apunte a su instalación de LLVM; por ejemplo, "lldb.library": "/usr/lib/x86_64-linux-gnu/liblldb-21.so"
  • Asegúrese de ejecutar el ejecutable de ClickHouse en modo de depuración antes de iniciarlo. (También es posible crear una preLaunchTask que lo automatice)

Configuraciones de ejemplo

cmake-variants.yaml

launch.json

settings.json

Esto también colocaría las distintas compilaciones en subcarpetas diferentes dentro de la carpeta build.

run-debug.sh

tasks.json

Define una tarea para ejecutar el ejecutable compilado en modo server dentro de una carpeta tmp junto a los binarios, usando la configuración de programs/server/config.xml.
Última modificación el 3 de julio de 2026