--- toc_priority: 65 toc_title: Build on Mac OS X --- # How to Build ClickHouse on Mac OS X {#how-to-build-clickhouse-on-mac-os-x} Build should work on Mac OS X 10.15 (Catalina). ## Install Homebrew {#install-homebrew} ``` bash $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ``` ## Install Required Compilers, Tools, and Libraries {#install-required-compilers-tools-and-libraries} ``` bash $ brew install cmake ninja libtool gettext llvm ``` ## Checkout ClickHouse Sources {#checkout-clickhouse-sources} ``` bash $ git clone --recursive git@github.com:ClickHouse/ClickHouse.git ``` or ``` bash $ git clone --recursive https://github.com/ClickHouse/ClickHouse.git $ cd ClickHouse ``` ## Build ClickHouse {#build-clickhouse} > Please note: ClickHouse doesn't support build with native Apple Clang compiler, we need use clang from LLVM. ``` bash $ mkdir build $ cd build $ cmake ..-DCMAKE_C_COMPILER=`brew --prefix llvm`/bin/clang -DCMAKE_CXX_COMPILER=`brew --prefix llvm`/bin/clang++ -DCMAKE_PREFIX_PATH=`brew --prefix llvm` $ ninja $ cd .. ``` ## Caveats {#caveats} If you intend to run `clickhouse-server`, make sure to increase the system’s maxfiles variable. !!! info "Note" You’ll need to use sudo. To do so, create the `/Library/LaunchDaemons/limit.maxfiles.plist` file with the following content: ``` xml Label limit.maxfiles ProgramArguments launchctl limit maxfiles 524288 524288 RunAtLoad ServiceIPC ``` Execute the following command: ``` bash $ sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist ``` Reboot. To check if it’s working, you can use `ulimit -n` command. [Original article](https://clickhouse.tech/docs/en/development/build_osx/)