mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-25 17:12:03 +00:00
Revisit macOS build instructions
This commit is contained in:
parent
8011f5c36a
commit
9e342bf9f0
@ -5,43 +5,77 @@ toc_title: Build on Mac OS X
|
|||||||
|
|
||||||
# How to Build ClickHouse on Mac OS X {#how-to-build-clickhouse-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).
|
Build should work on macOS 10.15 (Catalina) and higher based on x86_64 (Intel based Macs) architecture with recent Xcode's native AppleClang, or Homebrew's vanilla Clang or GCC compilers.
|
||||||
|
|
||||||
## Install Homebrew {#install-homebrew}
|
## Install Homebrew {#install-homebrew}
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Install Xcode and Command Line Tools {#install-xcode-and-command-line-tools}
|
||||||
|
|
||||||
|
Install the lates [Xcode](https://apps.apple.com/am/app/xcode/id497799835?mt=12) from App Store.
|
||||||
|
|
||||||
|
Open it at least once to accept the end-user license agreement and automatically install the required components.
|
||||||
|
|
||||||
|
Then, make sure that the latest Comman Line Tools are installed and selected in the system:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ sudo rm -rf /Library/Developer/CommandLineTools
|
||||||
|
$ sudo xcode-select --install
|
||||||
|
```
|
||||||
|
|
||||||
|
Reboot.
|
||||||
|
|
||||||
## Install Required Compilers, Tools, and Libraries {#install-required-compilers-tools-and-libraries}
|
## Install Required Compilers, Tools, and Libraries {#install-required-compilers-tools-and-libraries}
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
$ brew install cmake ninja libtool gettext llvm
|
$ brew update
|
||||||
|
$ brew install cmake ninja libtool gettext llvm gcc
|
||||||
```
|
```
|
||||||
|
|
||||||
## Checkout ClickHouse Sources {#checkout-clickhouse-sources}
|
## Checkout ClickHouse Sources {#checkout-clickhouse-sources}
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
$ git clone --recursive git@github.com:ClickHouse/ClickHouse.git
|
$ git clone --recursive git@github.com:ClickHouse/ClickHouse.git # or https://github.com/ClickHouse/ClickHouse.git
|
||||||
```
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
``` bash
|
|
||||||
$ git clone --recursive https://github.com/ClickHouse/ClickHouse.git
|
|
||||||
|
|
||||||
$ cd ClickHouse
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Build ClickHouse {#build-clickhouse}
|
## Build ClickHouse {#build-clickhouse}
|
||||||
|
|
||||||
> Please note: ClickHouse doesn't support build with native Apple Clang compiler, we need use clang from LLVM.
|
To build using Xcode's native AppleClang compiler:
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
|
$ cd ClickHouse
|
||||||
|
$ rm -rf build
|
||||||
$ mkdir build
|
$ mkdir build
|
||||||
$ cd 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`
|
$ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_JEMALLOC=OFF ..
|
||||||
$ ninja
|
$ cmake --build . --config RelWithDebInfo
|
||||||
|
$ cd ..
|
||||||
|
```
|
||||||
|
|
||||||
|
To build using Homebrew's vanilla Clang compiler:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ cd ClickHouse
|
||||||
|
$ rm -rf build
|
||||||
|
$ mkdir build
|
||||||
|
$ cd build
|
||||||
|
$ cmake -DCMAKE_C_COMPILER=$(brew --prefix llvm)/bin/clang -DCMAKE_CXX_COMPILER==$(brew --prefix llvm)/bin/clang++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_JEMALLOC=OFF ..
|
||||||
|
$ cmake --build . --config RelWithDebInfo
|
||||||
|
$ cd ..
|
||||||
|
```
|
||||||
|
|
||||||
|
To build using Homebrew's vanilla GCC compiler:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ cd ClickHouse
|
||||||
|
$ rm -rf build
|
||||||
|
$ mkdir build
|
||||||
|
$ cd build
|
||||||
|
$ cmake -DCMAKE_C_COMPILER=$(brew --prefix gcc)/bin/gcc-10 -DCMAKE_CXX_COMPILER=$(brew --prefix gcc)/bin/g++-10 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_JEMALLOC=OFF ..
|
||||||
|
$ cmake --build . --config RelWithDebInfo
|
||||||
$ cd ..
|
$ cd ..
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user