Este guia de compilação é destinado a colaboradores que modificam o próprio ClickHouse.Se você não estiver alterando o código-fonte do ClickHouse, poderá instalar uma versão pré-compilada do ClickHouse conforme descrito em Quick Start.
Instale os pré-requisitos
Primeiro, consulte a documentação geral de pré-requisitos. Em seguida, instale o Homebrew e execute Depois, execute:Assim como o O ClickHouse também fixa a versão da toolchain do Rust usada pelo módulo contrib
llvm, o rustup do Homebrew é keg-only, portanto seu diretório bin não é adicionado automaticamente ao PATH. Exporte-o da mesma forma que o PATH do llvm é exportado em Compilar o ClickHouse:corrosion. Instale-a e selecione-a seguindo a seção Instalar o compilador Rust do guia de compilação para Linux. Caso contrário, o cmake falhará no módulo contrib corrosion com o erro Cannot find nightly-<date> Rust toolchain.A Apple usa, por padrão, um sistema de arquivos que não diferencia maiúsculas de minúsculas. Embora isso normalmente não afete a compilação (especialmente compilações do zero), pode atrapalhar operações com arquivos, como
git mv.
Para desenvolvimento sério no macOS, certifique-se de que o código-fonte esteja armazenado em um volume de disco que diferencie maiúsculas de minúsculas; por exemplo, consulte estas instruções.Compile o ClickHouse
Para compilar, é necessário usar o compilador Clang do Homebrew:Um simples
brew install llvm sempre instala o lançamento mais recente do LLVM disponível no Homebrew, que pode ser mais novo do que a versão do Clang fixada para as compilações de CI e Linux (consulte Instalar o compilador Clang). Um Clang mais novo pode habilitar diagnósticos de -Weverything que ainda não são suprimidos na compilação, fazendo-a falhar com -Werror. Se isso acontecer, em vez de desabilitar os avisos, instale a versão principal fixada, por exemplo, por meio de uma fórmula versionada (brew install llvm@<version>), caso o Homebrew ainda a disponibilize.Se você estiver recebendo erros
ld: archive member '/' not a mach-o file in ... durante a etapa de vinculação, talvez seja necessário
usar o llvm-ar definindo a flag -DCMAKE_AR=/opt/homebrew/opt/llvm/bin/llvm-ar.Observações
Se você pretende executar oclickhouse-server, aumente a variável maxfiles do sistema.
Você precisará usar sudo.
/Library/LaunchDaemons/limit.maxfiles.plist com o seguinte conteúdo:
ulimit -n ou launchctl limit maxfiles.