2018-08-10 14:44:49 +00:00
# How to Build ClickHouse on Mac OS X
2017-12-28 15:13:23 +00:00
Build should work on Mac OS X 10.12. If you're using earlier version, you can try to build ClickHouse using Gentoo Prefix and clang sl in this instruction.
With appropriate changes, it should also work on any other Linux distribution.
## Install Homebrew
```bash
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
2018-08-10 14:44:49 +00:00
## Install Required Compilers, Tools, and Libraries
2017-12-28 15:13:23 +00:00
```bash
2018-08-02 08:18:15 +00:00
brew install cmake ninja gcc icu4c mariadb-connector-c openssl libtool gettext readline
2017-12-28 15:13:23 +00:00
```
2018-08-10 14:44:49 +00:00
## Checkout ClickHouse Sources
2017-12-28 15:13:23 +00:00
```bash
2018-08-05 05:52:46 +00:00
git clone --recursive --depth=10 git@github.com:yandex/ClickHouse.git
# or: git clone --recursive --depth=10 https://github.com/yandex/ClickHouse.git
2017-12-28 15:13:23 +00:00
cd ClickHouse
```
2018-08-05 05:52:46 +00:00
For the latest stable version, switch to the `stable` branch.
2017-12-28 15:13:23 +00:00
## Build ClickHouse
```bash
mkdir build
cd build
2018-09-06 17:01:51 +00:00
cmake .. -DCMAKE_CXX_COMPILER=`which g++-8` -DCMAKE_C_COMPILER=`which gcc-8`
2018-06-08 16:18:07 +00:00
ninja
2017-12-28 15:13:23 +00:00
cd ..
```
## Caveats
2018-07-18 10:00:53 +00:00
If you intend to run clickhouse-server, make sure to increase the system's maxfiles variable.
2018-07-20 17:35:34 +00:00
!!! info "Note"
You'll need to use sudo.
2018-07-18 10:00:53 +00:00
To do so, create the following file:
/Library/LaunchDaemons/limit.maxfiles.plist:
``` xml
<?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
< plist version = "1.0" >
< dict >
< key > Label< / key >
< string > limit.maxfiles< / string >
< key > ProgramArguments< / key >
< array >
< string > launchctl< / string >
< string > limit< / string >
< string > maxfiles< / string >
< string > 524288< / string >
< string > 524288< / string >
< / array >
< key > RunAtLoad< / key >
< true / >
< key > ServiceIPC< / key >
< false / >
< / dict >
< / plist >
```
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.
2017-12-28 15:13:23 +00:00