Pular para o conteúdo principal
O ClickHouse oferece suporte experimental a s390x.

Compilando o ClickHouse para s390x

Assim como outras plataformas, o s390x compila o OpenSSL como uma biblioteca estática. Se você quiser compilar com OpenSSL dinâmico, precisará passar -DENABLE_OPENSSL_DYNAMIC=1 ao CMake. Estas instruções pressupõem que a máquina host seja Linux x86_64/ARM e tenha todas as ferramentas necessárias para compilação nativa, com base nas instruções de compilação. Também pressupõem que o host seja Ubuntu 22.04, mas as instruções a seguir também devem funcionar no Ubuntu 20.04. Além de instalar as ferramentas usadas na compilação nativa, os pacotes adicionais a seguir precisam ser instalados:
Para compilar em s390x:

Executando

Para emular, você precisará do binário estático do QEMU para modo usuário em s390x. No Ubuntu, ele pode ser instalado com:
Depois de compilado, o binário pode ser executado, por exemplo, com:

Depuração

Instale o LLDB:
Para depurar um executável s390x, execute o ClickHouse usando o QEMU em modo de depuração:
Em outro shell, execute o LLDB e faça o attach; substitua <Clickhouse Parent Directory> e <build directory> pelos valores correspondentes ao seu ambiente.

Integração com o Visual Studio Code

  • A extensão CodeLLDB é necessária para a depuração visual.
  • A extensão Command Variable pode ajudar com inicializações dinâmicas ao usar CMake Variants.
  • Certifique-se de definir o backend para a sua instalação do LLVM, por exemplo: "lldb.library": "/usr/lib/x86_64-linux-gnu/liblldb-21.so"
  • Certifique-se de executar o executável clickhouse em modo de depuração antes de iniciar. (Também é possível criar uma preLaunchTask para automatizar isso)

Configurações de exemplo

cmake-variants.yaml

launch.json

settings.json

Isso também colocaria builds diferentes em subpastas distintas da pasta build.

run-debug.sh

tasks.json

Define uma tarefa para executar o executável compilado no modo server, em uma pasta tmp ao lado dos binários, com a configuração em programs/server/config.xml.
Última modificação em 12 de junho de 2026