2020-04-03 13:23:32 +00:00
|
|
|
|
---
|
|
|
|
|
toc_priority: 65
|
2020-07-20 14:29:13 +00:00
|
|
|
|
toc_title: Build on Mac OS X
|
2020-04-03 13:23:32 +00:00
|
|
|
|
---
|
|
|
|
|
|
2020-03-20 10:10:48 +00:00
|
|
|
|
# How to Build ClickHouse on Mac OS X {#how-to-build-clickhouse-on-mac-os-x}
|
2017-12-28 15:13:23 +00:00
|
|
|
|
|
2020-05-19 06:02:30 +00:00
|
|
|
|
Build should work on Mac OS X 10.15 (Catalina).
|
2017-12-28 15:13:23 +00:00
|
|
|
|
|
2020-03-20 10:10:48 +00:00
|
|
|
|
## Install Homebrew {#install-homebrew}
|
2017-12-28 15:13:23 +00:00
|
|
|
|
|
2020-03-20 10:10:48 +00:00
|
|
|
|
``` bash
|
2019-09-23 15:31:46 +00:00
|
|
|
|
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
2017-12-28 15:13:23 +00:00
|
|
|
|
```
|
|
|
|
|
|
2020-03-20 10:10:48 +00:00
|
|
|
|
## Install Required Compilers, Tools, and Libraries {#install-required-compilers-tools-and-libraries}
|
2017-12-28 15:13:23 +00:00
|
|
|
|
|
2020-03-20 10:10:48 +00:00
|
|
|
|
``` bash
|
2020-01-18 15:44:08 +00:00
|
|
|
|
$ brew install cmake ninja libtool gettext
|
2017-12-28 15:13:23 +00:00
|
|
|
|
```
|
|
|
|
|
|
2020-03-20 10:10:48 +00:00
|
|
|
|
## Checkout ClickHouse Sources {#checkout-clickhouse-sources}
|
2017-12-28 15:13:23 +00:00
|
|
|
|
|
2020-03-20 10:10:48 +00:00
|
|
|
|
``` bash
|
2020-03-11 07:29:10 +00:00
|
|
|
|
$ git clone --recursive git@github.com:ClickHouse/ClickHouse.git
|
2019-09-23 15:31:46 +00:00
|
|
|
|
```
|
2020-03-20 10:10:48 +00:00
|
|
|
|
|
2019-09-23 15:31:46 +00:00
|
|
|
|
or
|
2020-03-20 10:10:48 +00:00
|
|
|
|
|
|
|
|
|
``` bash
|
2020-03-11 07:29:10 +00:00
|
|
|
|
$ git clone --recursive https://github.com/ClickHouse/ClickHouse.git
|
2017-12-28 15:13:23 +00:00
|
|
|
|
|
2019-09-23 15:31:46 +00:00
|
|
|
|
$ cd ClickHouse
|
2017-12-28 15:13:23 +00:00
|
|
|
|
```
|
|
|
|
|
|
2020-03-20 10:10:48 +00:00
|
|
|
|
## Build ClickHouse {#build-clickhouse}
|
2017-12-28 15:13:23 +00:00
|
|
|
|
|
2020-12-13 08:10:07 +00:00
|
|
|
|
> Please note: ClickHouse doesn't support build with native Apple Clang compiler, we need use clang from LLVM.
|
|
|
|
|
|
2020-03-20 10:10:48 +00:00
|
|
|
|
``` bash
|
2019-09-23 15:31:46 +00:00
|
|
|
|
$ mkdir build
|
|
|
|
|
$ cd build
|
2020-12-13 08:10:07 +00:00
|
|
|
|
$ cmake ..-DCMAKE_C_COMPILER=`brew --prefix llvm`/bin/clang -DCMAKE_CXX_COMPILER=`brew --prefix llvm`/bin/clang++ -DCMAKE_PREFIX_PATH=`brew --prefix llvm`
|
2019-09-23 15:31:46 +00:00
|
|
|
|
$ ninja
|
|
|
|
|
$ cd ..
|
2017-12-28 15:13:23 +00:00
|
|
|
|
```
|
|
|
|
|
|
2020-03-20 10:10:48 +00:00
|
|
|
|
## Caveats {#caveats}
|
2017-12-28 15:13:23 +00:00
|
|
|
|
|
2020-07-20 14:29:13 +00:00
|
|
|
|
If you intend to run `clickhouse-server`, make sure to increase the system’s maxfiles variable.
|
2018-07-18 10:00:53 +00:00
|
|
|
|
|
2018-07-20 17:35:34 +00:00
|
|
|
|
!!! info "Note"
|
2020-03-20 10:10:48 +00:00
|
|
|
|
You’ll need to use sudo.
|
2018-07-18 10:00:53 +00:00
|
|
|
|
|
2020-07-20 14:29:13 +00:00
|
|
|
|
To do so, create the `/Library/LaunchDaemons/limit.maxfiles.plist` file with the following content:
|
2020-03-20 10:10:48 +00:00
|
|
|
|
|
|
|
|
|
``` xml
|
2018-07-18 10:00:53 +00:00
|
|
|
|
<?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:
|
2020-03-20 10:10:48 +00:00
|
|
|
|
|
|
|
|
|
``` bash
|
2018-07-18 10:00:53 +00:00
|
|
|
|
$ sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Reboot.
|
|
|
|
|
|
2020-03-20 10:10:48 +00:00
|
|
|
|
To check if it’s working, you can use `ulimit -n` command.
|
2018-10-16 10:47:17 +00:00
|
|
|
|
|
2020-01-30 10:34:55 +00:00
|
|
|
|
[Original article](https://clickhouse.tech/docs/en/development/build_osx/) <!--hide-->
|