Skip to main content
Esta guía de compilación está dirigida a colaboradores que modifican el propio ClickHouse.Si no va a modificar el código fuente de ClickHouse, puede instalar una versión precompilada de ClickHouse como se describe en Quick Start.
ClickHouse puede compilarse en macOS x86_64 (Intel) y arm64 (Apple Silicon) con macOS 10.15 (Catalina) o superior. Como compilador, solo se admite Clang de Homebrew.

Instalar los requisitos previos

Primero, consulta la documentación general sobre los requisitos previos. A continuación, instala Homebrew y ejecuta Luego, ejecuta:
Al igual que llvm, el paquete rustup de Homebrew es keg-only, por lo que su directorio bin no se añade automáticamente a PATH. Expórtalo de la misma forma en que se exporta el PATH de llvm en Build ClickHouse:
ClickHouse también fija la versión de la cadena de herramientas de Rust que utiliza el módulo contrib corrosion. Instálala y selecciónala siguiendo la sección Instalar el compilador de Rust de la guía de build para Linux. Si no lo haces, cmake falla en el módulo contrib corrosion con el error Cannot find nightly-<date> Rust toolchain.
Apple usa de forma predeterminada un sistema de archivos que no distingue entre mayúsculas y minúsculas. Aunque esto normalmente no afecta a la compilación (sobre todo, las compilaciones desde cero funcionarán), puede causar problemas en operaciones con archivos como git mv. Para trabajar seriamente en desarrollo en macOS, asegúrate de que el código fuente esté almacenado en un volumen de disco que sí distinga entre mayúsculas y minúsculas; por ejemplo, consulta estas instrucciones.

Compilar ClickHouse

Para compilarlo, debe usar el compilador Clang de Homebrew:
El comando brew install llvm sin más siempre instala la versión más reciente de LLVM disponible en Homebrew, que puede ser más nueva que la versión de Clang fijada para CI y los builds de Linux (consulte Instalar el compilador Clang). Una versión más reciente de Clang puede activar diagnósticos de -Weverything que aún no se suprimen en el build y que hacen que falle con -Werror. Si esto ocurre, en lugar de desactivar las advertencias, instale la versión principal fijada, por ejemplo, mediante una fórmula versionada (brew install llvm@<version>), si Homebrew todavía la ofrece.
Si se encuentra con errores ld: archive member '/' not a mach-o file in ... durante el enlazado, es posible que necesite usar llvm-ar estableciendo la opción -DCMAKE_AR=/opt/homebrew/opt/llvm/bin/llvm-ar.

Consideraciones

Si tiene previsto ejecutar clickhouse-server, asegúrese de aumentar la variable maxfiles del sistema.
Tendrá que usar sudo.
Para ello, cree el archivo /Library/LaunchDaemons/limit.maxfiles.plist con el siguiente contenido:
Asigna al archivo los permisos adecuados:
Verifique que el archivo sea correcto:
Recargue el archivo (o reinicie):
Para comprobar que funciona, usa los comandos ulimit -n o launchctl limit maxfiles.