このビルドガイドは、ClickHouse 本体を変更するコントリビューター向けです。ClickHouse のソースコードを変更しない場合は、クイックスタート にある手順に従って、ビルド済みの ClickHouse をインストールできます。
前提条件を準備する
まず、一般的な前提条件に関するドキュメントを参照してください。 次に、Homebrewをインストールし、次を実行します 続いて、以下を実行します:llvm と同様に、Homebrew の rustup は keg-only であるため、その bin ディレクトリは PATH に自動では追加されません。ClickHouse をビルドするで llvm の PATH をエクスポートしたのと同じ方法でエクスポートしてください:corrosion contrib モジュールで使用する Rust ツールチェーンのバージョンが固定されています。Linux ビルドガイドのRust コンパイラをインストールするセクションの手順に従って、このツールチェーンをインストールし、選択してください。この手順を行わないと、cmake が corrosion contrib モジュールの処理で Cannot find nightly-<date> Rust toolchain というエラーを出して失敗します。Apple ではデフォルトで、大文字と小文字を区別しないファイルシステムが使われます。通常、これはコンパイルには影響しません (特に
scratch ビルドは動作します) が、git mv のようなファイル操作では問題を引き起こすことがあります。
macOS で本格的に開発する場合は、ソースコードを大文字と小文字を区別するディスクボリュームに保存してください。たとえば、こちらの手順を参照してください。ClickHouse をビルドする
ビルドするには、Homebrew の Clang コンパイラを使用する必要があります。単に
brew install llvm を実行すると、常に Homebrew の最新の LLVM リリースがインストールされます。このバージョンは、CI および Linux のビルドで固定されている Clang のバージョンより新しい場合があります (Clang コンパイラのインストールを参照) 。新しい Clang では、ビルドでまだ抑制されていない -Weverything の診断が有効になり、-Werror によってビルドが失敗することがあります。その場合は、警告を無効化するのではなく、固定されたメジャーバージョンをインストールしてください。たとえば Homebrew でまだ提供されていれば、バージョン付きの formula (brew install llvm@<version>) を使用できます。リンク時に
ld: archive member '/' not a mach-o file in ... エラーが発生する場合は、-DCMAKE_AR=/opt/homebrew/opt/llvm/bin/llvm-ar フラグを指定して llvm-ar を使用する必要があることがあります。注意事項
clickhouse-server を実行する場合は、システムの maxfiles 変数を増やしてください。
sudo を使用する必要があります。/Library/LaunchDaemons/limit.maxfiles.plist ファイルを作成します。
ulimit -n または launchctl limit maxfiles コマンドを使用します。