Building ClickHouse DB Locally

Building ClickHouse DB Locally

ยท

63 min read

Recently I was simply checking out ClickHouse DB, a popular OLAP database.

I wanted to play with it and understand it. So the first thing I did was - simply try building it on my local. For example, that's kind of the first step for doing local development

So, I got the git repository locally

git clone git@github.com:ClickHouse/ClickHouse.git

I started checking the CONTRIBUTING.md file in it. It mentioned checking out the developer's guide

This post is going to be an elaborate version of that guide. This post is going to be about how to build ClickHouse DB locally in a macOS system

I'm trying to build the git commit 1d46ed7 on my macOS Version 14.0 (23A344) with 2.6 GHz 6-Core Intel Core i7 processor and 16 GB 2667 MHz DDR4 memory

The guide asks to run git clone command with --shallow-submodules but I didn't do that. But it's okay, we will ensure we still get things right. For example, I ran this for submodules -

cd ClickHouse
./contrib/update-submodules.sh

The above is also mentioned in the guide. The output looks like this -

https://gist.github.com/karuppiah7890/88e386adbc5d4f346ddaa324ca20f2af#file-contrib-update-submodules-md

Next, I started checking if I had the necessary tooling for building, like clang, clang++, and ninja

$ clang++ --version
Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

$ clang --version
Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

$ ninja
zsh: command not found: ninja

I didn't have ninja, so I got it using brew

$ brew info ninja
==> ninja: stable 1.11.1 (bottled), HEAD
Small build system for use with gyp or CMake
https://ninja-build.org/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/n/ninja.rb
License: Apache-2.0
==> Dependencies
Build: python@3.11 โœ˜
==> Options
--HEAD
    Install HEAD version
==> Analytics
install: 20,353 (30 days), 53,838 (90 days), 131,672 (365 days)
install-on-request: 7,495 (30 days), 23,190 (90 days), 54,994 (365 days)
build-error: 32 (30 days)

$ brew install ninja
Running `brew update --auto-update`...
==> Auto-updated Homebrew!
Updated 4 taps (hashicorp/tap, vectordotdev/brew, homebrew/core and homebrew/cask).
==> New Formulae
cf2tf               dcp                 gossip              libdicom            nvimpager           wormhole-william
chainloop-cli       diffoci             gptline             libnghttp3          opentofu
cloudsplaining      dockly              karmadactl          mentat              saf-cli
==> New Casks
free-podcast-transcription    kuaitie                       songkong                      spacedrive

You have 73 outdated formulae and 1 outdated cask installed.

==> Downloading https://ghcr.io/v2/homebrew/core/ninja/manifests/1.11.1-1
############################################################################################################### 100.0%
==> Fetching ninja
==> Downloading https://ghcr.io/v2/homebrew/core/ninja/blobs/sha256:0985f9b135ca58e18efe12665d410b08109dd215f087c22d44
############################################################################################################### 100.0%
==> Pouring ninja--1.11.1.sonoma.bottle.1.tar.gz
==> Caveats
zsh completions have been installed to:
  /usr/local/share/zsh/site-functions

Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/ninja
==> Summary
๐Ÿบ  /usr/local/Cellar/ninja/1.11.1: 10 files, 422.0KB
==> Running `brew cleanup ninja`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

$ ninja
ninja: error: loading 'build.ninja': No such file or directory

$ ninja --help
usage: ninja [options] [targets...]

if targets are unspecified, builds the 'default' target (see manual).

options:
  --version      print ninja version ("1.11.1")
  -v, --verbose  show all command lines while building
  --quiet        don't show progress status, just command output

  -C DIR   change to DIR before doing anything else
  -f FILE  specify input build file [default=build.ninja]

  -j N     run N jobs in parallel (0 means infinity) [default=14 on this system]
  -k N     keep going until N jobs fail (0 means infinity) [default=1]
  -l N     do not start new jobs if the load average is greater than N
  -n       dry run (don't run commands but act like they succeeded)

  -d MODE  enable debugging (use '-d list' to list modes)
  -t TOOL  run a subtool (use '-t list' to list subtools)
    terminates toplevel options; further flags are passed to the tool
  -w FLAG  adjust warnings (use '-w list' to list warnings)

Next, I created the build directory for the build

$ mkdir build

$ cd build

$ export CC=clang CXX=clang++

$ cmake -D CMAKE_BUILD_TYPE=Debug ..

I wanted to build a debug build, hence the -D CMAKE_BUILD_TYPE=Debug. The output for cmake looked like this -

$ export CC=clang CXX=clang++

$ cmake -D CMAKE_BUILD_TYPE=Debug ..
-- The C compiler identification is AppleClang 15.0.0.15000040
-- The CXX compiler identification is AppleClang 15.0.0.15000040
-- The ASM compiler identification is Clang with GNU-like command-line
-- Found assembler: /Library/Developer/CommandLineTools/usr/bin/clang
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using compiler:
Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
CMake Error at cmake/tools.cmake:24 (message):
  Compilation with AppleClang is unsupported.  Please use vanilla Clang, e.g.
  from Homebrew.
Call Stack (most recent call first):
  CMakeLists.txt:18 (include)


-- Configuring incomplete, errors occurred!

I spent quite some time dealing with this error by trying out multiple different things. The one thing that worked for me was the following -

Installing llvm formula (a.k.a package) using brew

$ brew info llvm   
==> llvm: stable 17.0.2 (bottled), HEAD [keg-only]
Next-gen compiler infrastructure
https://llvm.org/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/l/llvm.rb
License: Apache-2.0 with LLVM-exception
==> Dependencies
Build: cmake โœ˜, ninja โœ”, swig โœ˜
Required: python@3.11 โœ˜, z3 โœ˜, zstd โœ”
==> Options
--HEAD
    Install HEAD version
==> Caveats
To use the bundled libc++ please add the following LDFLAGS:
  LDFLAGS="-L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++"

llvm is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.
==> Analytics
install: 45,722 (30 days), 97,040 (90 days), 233,940 (365 days)
install-on-request: 30,554 (30 days), 66,402 (90 days), 193,507 (365 days)
build-error: 343 (30 days)

$ brew install llvm
==> Downloading https://ghcr.io/v2/homebrew/core/llvm/manifests/17.0.2
############################################################################################################### 100.0%
==> Fetching dependencies for llvm: sqlite, python@3.11 and z3
==> Downloading https://ghcr.io/v2/homebrew/core/sqlite/manifests/3.43.2
############################################################################################################### 100.0%
==> Fetching sqlite
==> Downloading https://ghcr.io/v2/homebrew/core/sqlite/blobs/sha256:96e50e9d331b273ff3b490b91e1ce7c31e2ef0ed952f44c36
############################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/python/3.11/manifests/3.11.6
############################################################################################################### 100.0%
==> Fetching python@3.11
==> Downloading https://ghcr.io/v2/homebrew/core/python/3.11/blobs/sha256:f5fcdd06f2904c8f6e6405b3d6ac0754dbb91b86ce45
############################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/z3/manifests/4.12.2
############################################################################################################### 100.0%
==> Fetching z3
==> Downloading https://ghcr.io/v2/homebrew/core/z3/blobs/sha256:c9d1a67120787d5f3d9efd6c0467d30d1df277a18041272ed5803
############################################################################################################### 100.0%
==> Fetching llvm
==> Downloading https://ghcr.io/v2/homebrew/core/llvm/blobs/sha256:3122a8c61392cd47f0e64ee17e66fb6126339b1fd12395fafbb
############################################################################################################### 100.0%
==> Installing dependencies for llvm: sqlite, python@3.11 and z3
==> Installing llvm dependency: sqlite
==> Downloading https://ghcr.io/v2/homebrew/core/sqlite/manifests/3.43.2
Already downloaded: /Users/karuppiah/Library/Caches/Homebrew/downloads/cf3929ad5a0979c42d7951a63fbed2df830d2179f1c4720827c1d5d625eda3db--sqlite-3.43.2.bottle_manifest.json
==> Pouring sqlite--3.43.2.sonoma.bottle.tar.gz
๐Ÿบ  /usr/local/Cellar/sqlite/3.43.2: 11 files, 4.6MB
==> Installing llvm dependency: python@3.11
==> Downloading https://ghcr.io/v2/homebrew/core/python/3.11/manifests/3.11.6
Already downloaded: /Users/karuppiah/Library/Caches/Homebrew/downloads/3afb5f4c5c82791b3497d428eec67ef9aa2a404199188cd5a9db005c6c6a55ea--python@3.11-3.11.6.bottle_manifest.json
==> Pouring python@3.11--3.11.6.sonoma.bottle.tar.gz
==> Downloading https://formulae.brew.sh/api/formula.jws.json
############################################################################################################### 100.0%
==> /usr/local/Cellar/python@3.11/3.11.6/bin/python3.11 -Im ensurepip
==> /usr/local/Cellar/python@3.11/3.11.6/bin/python3.11 -Im pip install -v --no-index --upgrade --isolated --target=/u
๐Ÿบ  /usr/local/Cellar/python@3.11/3.11.6: 3,284 files, 61MB
==> Installing llvm dependency: z3
==> Downloading https://ghcr.io/v2/homebrew/core/z3/manifests/4.12.2
Already downloaded: /Users/karuppiah/Library/Caches/Homebrew/downloads/49561ecf82b693a3dd67cdef0b355d88ead97782404c6889979b70c308fee928--z3-4.12.2.bottle_manifest.json
==> Pouring z3--4.12.2.sonoma.bottle.tar.gz
๐Ÿบ  /usr/local/Cellar/z3/4.12.2: 118 files, 30.9MB
==> Installing llvm
==> Pouring llvm--17.0.2.sonoma.bottle.tar.gz
==> Caveats
To use the bundled libc++ please add the following LDFLAGS:
  LDFLAGS="-L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++"

llvm is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have llvm first in your PATH, run:
  echo 'export PATH="/usr/local/opt/llvm/bin:$PATH"' >> ~/.zshrc

For compilers to find llvm you may need to set:
  export LDFLAGS="-L/usr/local/opt/llvm/lib"
  export CPPFLAGS="-I/usr/local/opt/llvm/include"
==> Summary
๐Ÿบ  /usr/local/Cellar/llvm/17.0.2: 7,203 files, 1.8GB
==> Running `brew cleanup llvm`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Upgrading 6 dependents of upgraded formulae:
Disable this behaviour by setting HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
awscli 2.13.11 -> 2.13.26, cffi 1.15.1 -> 1.16.0_1, docutils 0.20.1 -> 0.20.1_1, psutils 3.1.1 -> 3.3.2, pycparser 2.21 -> 2.21_1, python@3.10 3.10.12_1 -> 3.10.13
==> Downloading https://ghcr.io/v2/homebrew/core/pycparser/manifests/2.21_1
############################################################################################################### 100.0%
==> Fetching pycparser
==> Downloading https://ghcr.io/v2/homebrew/core/pycparser/blobs/sha256:1c66e05d7cdb3a008650023384a934c620864ef11458e2
############################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/cffi/manifests/1.16.0_1
############################################################################################################### 100.0%
==> Fetching dependencies for cffi: python-setuptools
==> Downloading https://ghcr.io/v2/homebrew/core/python-setuptools/manifests/68.2.2
############################################################################################################### 100.0%
==> Fetching python-setuptools
==> Downloading https://ghcr.io/v2/homebrew/core/python-setuptools/blobs/sha256:627f7a6f95ed01623f37fd3e312a064000deb5
############################################################################################################### 100.0%
==> Fetching cffi
==> Downloading https://ghcr.io/v2/homebrew/core/cffi/blobs/sha256:76f2b60ba93496474a243f5a365b9a0040b25f0e5ecb2ff9b3f
############################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/docutils/manifests/0.20.1_1
############################################################################################################### 100.0%
==> Fetching docutils
==> Downloading https://ghcr.io/v2/homebrew/core/docutils/blobs/sha256:666284171cef102f63b2f3d8ad4e6edc422279264311e02
############################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/awscli/manifests/2.13.26
############################################################################################################### 100.0%
==> Fetching awscli
==> Downloading https://ghcr.io/v2/homebrew/core/awscli/blobs/sha256:4c4e113c797653ef670f886d9a2f2ddfaf5051e4ce231c863
############################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/psutils/manifests/3.3.2
############################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/python/3.10/manifests/3.10.13
############################################################################################################### 100.0%
==> Upgrading pycparser
  2.21 -> 2.21_1 

==> Pouring pycparser--2.21_1.sonoma.bottle.tar.gz
๐Ÿบ  /usr/local/Cellar/pycparser/2.21_1: 102 files, 1.8MB
==> Running `brew cleanup pycparser`...
Removing: /usr/local/Cellar/pycparser/2.21... (46 files, 656.7KB)
==> Upgrading cffi
  1.15.1 -> 1.16.0_1 

==> Installing dependencies for cffi: python-setuptools
==> Installing cffi dependency: python-setuptools
==> Downloading https://ghcr.io/v2/homebrew/core/python-setuptools/manifests/68.2.2
Already downloaded: /Users/karuppiah/Library/Caches/Homebrew/downloads/151f47f6f59597343d42954b5ffea4de6be29e18a9d7a07fc2386a3ad08752dc--python-setuptools-68.2.2.bottle_manifest.json
==> Pouring python-setuptools--68.2.2.sonoma.bottle.tar.gz
๐Ÿบ  /usr/local/Cellar/python-setuptools/68.2.2: 245 files, 2.9MB
==> Installing cffi
==> Pouring cffi--1.16.0_1.sonoma.bottle.tar.gz
๐Ÿบ  /usr/local/Cellar/cffi/1.16.0_1: 101 files, 1.7MB
==> Running `brew cleanup cffi`...
Removing: /usr/local/Cellar/cffi/1.15.1... (33 files, 581.7KB)
==> Upgrading docutils
  0.20.1 -> 0.20.1_1 

==> Pouring docutils--0.20.1_1.sonoma.bottle.tar.gz
๐Ÿบ  /usr/local/Cellar/docutils/0.20.1_1: 645 files, 5.8MB
==> Running `brew cleanup docutils`...
Removing: /usr/local/Cellar/docutils/0.20.1... (264 files, 2.9MB)
==> Upgrading awscli
  2.13.11 -> 2.13.26 

==> Pouring awscli--2.13.26.sonoma.bottle.tar.gz
==> Caveats
The "examples" directory has been installed to:
  /usr/local/share/awscli/examples

zsh completions and functions have been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
๐Ÿบ  /usr/local/Cellar/awscli/2.13.26: 13,127 files, 112.5MB
==> Running `brew cleanup awscli`...
Removing: /usr/local/Cellar/awscli/2.13.11... (13,536 files, 118.0MB)
==> Checking for dependents of upgraded formulae...
==> No broken dependents found!
==> Caveats
==> llvm
To use the bundled libc++ please add the following LDFLAGS:
  LDFLAGS="-L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++"

llvm is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have llvm first in your PATH, run:
  echo 'export PATH="/usr/local/opt/llvm/bin:$PATH"' >> ~/.zshrc

For compilers to find llvm you may need to set:
  export LDFLAGS="-L/usr/local/opt/llvm/lib"
  export CPPFLAGS="-I/usr/local/opt/llvm/include"
==> awscli
The "examples" directory has been installed to:
  /usr/local/share/awscli/examples

zsh completions and functions have been installed to:
  /usr/local/share/zsh/site-functions

Then I ran some commands to ensure that the cmake was picking up the vanilla clang and clang++ with version 17 from the llvm package I just installed

$ ls /Library/Developer/CommandLineTools/usr/bin/clang
/Library/Developer/CommandLineTools/usr/bin/clang

$ ls /Library/Developer/CommandLineTools/usr/bin/clang++
/Library/Developer/CommandLineTools/usr/bin/clang++

$ ls -al /Library/Developer/CommandLineTools/usr/bin/clang++
lrwxr-xr-x  1 root  wheel  5 Sep 23 21:20 /Library/Developer/CommandLineTools/usr/bin/clang++ -> clang

$ cd /Library/Developer/CommandLineTools/usr/bin/

$ sudo mv clang clang-apple

$ sudo ln -s clang-apple clang++-apple

$ ls -al clang++-apple 
lrwxr-xr-x  1 root  wheel  11 Oct 18 13:20 clang++-apple -> clang-apple

$ ./clang-apple --version
Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin.

$ ./clang++-apple --version
Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin/.

$ sudo ln -s /usr/local/opt/llvm/bin/clang clang

$ ./clang --version
Homebrew clang version 17.0.2
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin/.

$ ./clang++ --version
Homebrew clang version 17.0.2
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin/.

And then I ran cmake again and got this -

$ export CC=clang CXX=clang++
$ cmake -D CMAKE_BUILD_TYPE=Debug ..
-- Using compiler:
Homebrew clang version 17.0.2
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
-- Using linker: /usr/bin/ld
-- Using archiver: /usr/local/opt/llvm/bin/llvm-ar
-- Using ranlib: /usr/local/opt/llvm/bin/llvm-ranlib
-- Using install-name-tool: /usr/local/opt/llvm/bin/llvm-install-name-tool
-- Using objcopy: /usr/local/opt/llvm/bin/llvm-objcopy
-- Using strip: /usr/local/opt/llvm/bin/llvm-strip
CMake Error at cmake/tools.cmake:150 (message):
  GNU find not found.  You can install it with 'brew install findutils'.
Call Stack (most recent call first):
  CMakeLists.txt:18 (include)

I then installed findutils formula using brew. I love how the error messages are usually very helpful! :D

$ brew info findutils 
==> findutils: stable 4.9.0 (bottled)
Collection of GNU find, xargs, and locate
https://www.gnu.org/software/findutils/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/f/findutils.rb
License: GPL-3.0-or-later
==> Caveats
All commands have been installed with the prefix "g".
If you need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:
  PATH="/usr/local/opt/findutils/libexec/gnubin:$PATH"
==> Analytics
install: 2,636 (30 days), 7,679 (90 days), 16,704 (365 days)
install-on-request: 2,603 (30 days), 7,558 (90 days), 16,493 (365 days)
build-error: 0 (30 days)

$ brew install findutils  
==> Downloading https://formulae.brew.sh/api/formula.jws.json
############################################################################################################### 100.0%
==> Downloading https://formulae.brew.sh/api/cask.jws.json
############################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/findutils/manifests/4.9.0-1
############################################################################################################### 100.0%
==> Fetching findutils
==> Downloading https://ghcr.io/v2/homebrew/core/findutils/blobs/sha256:7312e1463b5b7e47b061cc180381acdcf5c5a7d396012e
############################################################################################################### 100.0%
==> Pouring findutils--4.9.0.sonoma.bottle.1.tar.gz
==> Caveats
All commands have been installed with the prefix "g".
If you need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:
  PATH="/usr/local/opt/findutils/libexec/gnubin:$PATH"
==> Summary
๐Ÿบ  /usr/local/Cellar/findutils/4.9.0: 31 files, 1.9MB
==> Running `brew cleanup findutils`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

Then I ran cmake again and got this -

$ export CC=clang CXX=clang++

$ cmake -D CMAKE_BUILD_TYPE=Debug ..
-- Using compiler:
Homebrew clang version 17.0.2
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
-- Using linker: /usr/bin/ld
-- Using archiver: /usr/local/opt/llvm/bin/llvm-ar
-- Using ranlib: /usr/local/opt/llvm/bin/llvm-ranlib
-- Using install-name-tool: /usr/local/opt/llvm/bin/llvm-install-name-tool
-- Using objcopy: /usr/local/opt/llvm/bin/llvm-objcopy
-- Using strip: /usr/local/opt/llvm/bin/llvm-strip
CMake Error at cmake/tools.cmake:154 (message):
  GNU grep not found.  You can install it with 'brew install grep'.
Call Stack (most recent call first):
  CMakeLists.txt:18 (include)


-- Configuring incomplete, errors occurred!

I installed GNU grep then, using brew

$ brew info grep
==> grep: stable 3.11 (bottled), HEAD
GNU grep, egrep and fgrep
https://www.gnu.org/software/grep/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/g/grep.rb
License: GPL-3.0-or-later
==> Dependencies
Build: pkg-config โœ”
Required: pcre2 โœ”
==> Options
--HEAD
    Install HEAD version
==> Caveats
All commands have been installed with the prefix "g".
If you need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:
  PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"
==> Analytics
install: 5,309 (30 days), 16,214 (90 days), 61,379 (365 days)
install-on-request: 3,184 (30 days), 9,277 (90 days), 39,160 (365 days)
build-error: 0 (30 days)

$ brew install grep
==> Downloading https://ghcr.io/v2/homebrew/core/grep/manifests/3.11
############################################################################################################### 100.0%
==> Fetching grep
==> Downloading https://ghcr.io/v2/homebrew/core/grep/blobs/sha256:8a2920cc2deb14480b0195d267443839941e0e301f6fe44adc3
############################################################################################################### 100.0%
==> Pouring grep--3.11.sonoma.bottle.tar.gz
==> Caveats
All commands have been installed with the prefix "g".
If you need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:
  PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"
==> Summary
๐Ÿบ  /usr/local/Cellar/grep/3.11: 19 files, 1MB
==> Running `brew cleanup grep`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

Then I ran cmake again and got this -

$ export CC=clang CXX=clang++

$ cmake -D CMAKE_BUILD_TYPE=Debug ..
-- Using compiler:
Homebrew clang version 17.0.2
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
-- Using linker: /usr/bin/ld
-- Using archiver: /usr/local/opt/llvm/bin/llvm-ar
-- Using ranlib: /usr/local/opt/llvm/bin/llvm-ranlib
-- Using install-name-tool: /usr/local/opt/llvm/bin/llvm-install-name-tool
-- Using objcopy: /usr/local/opt/llvm/bin/llvm-objcopy
-- Using strip: /usr/local/opt/llvm/bin/llvm-strip
CMake Error at cmake/ccache.cmake:29 (message):
  Using *ccache: no (Could not find find ccache or sccache.  To significantly
  reduce compile times for the 2nd, 3rd, etc.  build, it is highly
  recommended to install one of them.  To suppress this message, run cmake
  with -DCOMPILER_CACHE=disabled)
Call Stack (most recent call first):
  CMakeLists.txt:19 (include)


-- Configuring incomplete, errors occurred!

I installed both ccache and sccache then, using brew

$ brew info ccache 
==> ccache: stable 4.8.3 (bottled), HEAD
Object-file caching compiler wrapper
https://ccache.dev/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/c/ccache.rb
License: GPL-3.0-or-later
==> Dependencies
Build: asciidoctor โœ˜, cmake โœ˜, pkg-config โœ”
Required: hiredis โœ˜, zstd โœ”
==> Options
--HEAD
    Install HEAD version
==> Caveats
To install symlinks for compilers that will automatically use
ccache, prepend this directory to your PATH:
  /usr/local/opt/ccache/libexec

If this is an upgrade and you have previously added the symlinks to
your PATH, you may need to modify it to the path specified above so
it points to the current version.

NOTE: ccache can prevent some software from compiling.
ALSO NOTE: The brew command, by design, will never use ccache.
==> Analytics
install: 7,101 (30 days), 25,054 (90 days), 76,486 (365 days)
install-on-request: 6,991 (30 days), 24,652 (90 days), 75,283 (365 days)
build-error: 3 (30 days)


$ brew info sccache
==> sccache: stable 0.5.4 (bottled), HEAD
Used as a compiler wrapper and avoids compilation when possible
https://github.com/mozilla/sccache
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/s/sccache.rb
License: Apache-2.0
==> Dependencies
Build: rust โœ˜
==> Options
--HEAD
    Install HEAD version
==> Analytics
install: 1,101 (30 days), 4,961 (90 days), 13,960 (365 days)
install-on-request: 1,101 (30 days), 4,960 (90 days), 13,951 (365 days)
build-error: 0 (30 days)


$ brew install ccache 
==> Downloading https://ghcr.io/v2/homebrew/core/ccache/manifests/4.8.3
############################################################################################################### 100.0%
==> Fetching dependencies for ccache: hiredis
==> Downloading https://ghcr.io/v2/homebrew/core/hiredis/manifests/1.2.0-1
############################################################################################################### 100.0%
==> Fetching hiredis
==> Downloading https://ghcr.io/v2/homebrew/core/hiredis/blobs/sha256:55627ae2c171d51464a2d7c2b6fb3e2194c7769d5e9173a2
############################################################################################################### 100.0%
==> Fetching ccache
==> Downloading https://ghcr.io/v2/homebrew/core/ccache/blobs/sha256:c5ff1168bed9f2ed61ffb1bb4fccb01975c9df681b92ad7e6
############################################################################################################### 100.0%
==> Installing dependencies for ccache: hiredis
==> Installing ccache dependency: hiredis
==> Downloading https://ghcr.io/v2/homebrew/core/hiredis/manifests/1.2.0-1
Already downloaded: /Users/karuppiah/Library/Caches/Homebrew/downloads/127a05c6ea8bbe081851bc3c059b6aa5fce19f2b7e9e467d50b914487eda7a4e--hiredis-1.2.0-1.bottle_manifest.json
==> Pouring hiredis--1.2.0.sonoma.bottle.1.tar.gz
๐Ÿบ  /usr/local/Cellar/hiredis/1.2.0: 52 files, 451.1KB
==> Installing ccache
==> Pouring ccache--4.8.3.sonoma.bottle.tar.gz
==> Caveats
To install symlinks for compilers that will automatically use
ccache, prepend this directory to your PATH:
  /usr/local/opt/ccache/libexec

If this is an upgrade and you have previously added the symlinks to
your PATH, you may need to modify it to the path specified above so
it points to the current version.

NOTE: ccache can prevent some software from compiling.
ALSO NOTE: The brew command, by design, will never use ccache.
==> Summary
๐Ÿบ  /usr/local/Cellar/ccache/4.8.3: 78 files, 1.4MB
==> Running `brew cleanup ccache`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Caveats
==> ccache
To install symlinks for compilers that will automatically use
ccache, prepend this directory to your PATH:
  /usr/local/opt/ccache/libexec

If this is an upgrade and you have previously added the symlinks to
your PATH, you may need to modify it to the path specified above so
it points to the current version.

NOTE: ccache can prevent some software from compiling.
ALSO NOTE: The brew command, by design, will never use ccache.


$ brew install sccache
==> Downloading https://ghcr.io/v2/homebrew/core/sccache/manifests/0.5.4
############################################################################################################### 100.0%
==> Fetching sccache
==> Downloading https://ghcr.io/v2/homebrew/core/sccache/blobs/sha256:4083f8837e864c0aacd5ec7db643b830574b014b1306197f
############################################################################################################### 100.0%
==> Pouring sccache--0.5.4.sonoma.bottle.tar.gz
๐Ÿบ  /usr/local/Cellar/sccache/0.5.4: 7 files, 13.5MB
==> Running `brew cleanup sccache`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).


$ ccache
Usage:
    ccache [ccache options]
    ccache [KEY=VALUE ...] compiler [compiler options]
    compiler [compiler options]

    The first form takes options described below. The second form invokes the
    compiler, optionally using configuration options from KEY=VALUE arguments.
    In the third form, ccache is masquerading as the compiler.

Common options:
    -c, --cleanup              delete not recently used files and recalculate
                               size counters (normally not needed as this is
                               done automatically)
    -C, --clear                clear the cache completely (except configuration)
        --config-path PATH     operate on configuration file PATH instead of the
                               default
    -d, --dir PATH             operate on cache directory PATH instead of the
                               default
        --evict-namespace NAMESPACE
                               remove files created in namespace NAMESPACE
        --evict-older-than AGE remove files used less recently than AGE
                               (unsigned integer with a d (days) or s (seconds)
                               suffix)
    -F, --max-files NUM        set maximum number of files in cache to NUM (use
                               0 for no limit)
    -M, --max-size SIZE        set maximum size of cache to SIZE (use 0 for no
                               limit); available suffixes: kB, MB, GB, TB
                               (decimal) and KiB, MiB, GiB, TiB (binary);
                               default suffix: GiB
    -X, --recompress LEVEL     recompress the cache to level LEVEL (integer or
                               "uncompressed")
        --recompress-threads THREADS
                               use up to THREADS threads when recompressing the
                               cache; default: number of CPUs
    -o, --set-config KEY=VALUE set configuration option KEY to value VALUE
    -x, --show-compression     show compression statistics
    -p, --show-config          show current configuration options in
                               human-readable format
        --show-log-stats       print statistics counters from the stats log
                               in human-readable format
    -s, --show-stats           show summary of configuration and statistics
                               counters in human-readable format (use
                               -v/--verbose once or twice for more details)
    -v, --verbose              increase verbosity
    -z, --zero-stats           zero statistics counters

    -h, --help                 print this help text
    -V, --version              print version and copyright information

Options for remote file-based storage:
        --trim-dir PATH        remove not recently used files from directory
                               PATH until it is at most the size specified by
                               --trim-max-size (note: don't use this option to
                               trim the local cache)
        --trim-max-size SIZE   specify the maximum size for --trim-dir (use 0 for
                               no limit); available suffixes: kB, MB, GB, TB
                               (decimal) and KiB, MiB, GiB, TiB (binary);
                               default suffix: GiB
        --trim-method METHOD   specify the method (atime or mtime) for
                               --trim-dir; default: atime
        --trim-recompress LEVEL
                               recompress to level LEVEL (integer or
                               "uncompressed")
        --trim-recompress-threads THREADS
                               use up to THREADS threads when recompressing;
                               default: number of CPUs

Options for scripting or debugging:
        --checksum-file PATH   print the checksum (128 bit XXH3) of the file at
                               PATH
        --extract-result PATH  extract file data stored in result file at PATH
                               to the current working directory
    -k, --get-config KEY       print the value of configuration key KEY
        --hash-file PATH       print the hash (160 bit BLAKE3) of the file at
                               PATH
        --inspect PATH         print result/manifest file at PATH in
                               human-readable format
        --print-stats          print statistics counter IDs and corresponding
                               values in machine-parsable format

See also the manual on <https://ccache.dev/documentation.html>.


$ ccache --version
ccache version 4.8.3
Features: file-storage http-storage redis+unix-storage redis-storage

Copyright (C) 2002-2007 Andrew Tridgell
Copyright (C) 2009-2023 Joel Rosdahl and other contributors

See <https://ccache.dev/credits.html> for a complete list of contributors.

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.


$ sccache --version
sccache 0.5.4

Then I ran cmake again! And got this -

$ export CC=clang CXX=clang++

$ cmake -D CMAKE_BUILD_TYPE=Debug ..
-- Using compiler:
Homebrew clang version 17.0.2
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
-- Using linker: /usr/bin/ld
-- Using archiver: /usr/local/opt/llvm/bin/llvm-ar
-- Using ranlib: /usr/local/opt/llvm/bin/llvm-ranlib
-- Using install-name-tool: /usr/local/opt/llvm/bin/llvm-install-name-tool
-- Using objcopy: /usr/local/opt/llvm/bin/llvm-objcopy
-- Using strip: /usr/local/opt/llvm/bin/llvm-strip
-- Using ccache: /usr/local/bin/ccache (version 4.8.3)
-- Found Git: /usr/local/bin/git (found version "2.38.1") 
-- Git HEAD commit hash: 1d46ed75db43de34ebe5255d8aa0935017708f58
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
    modified:   contrib/liburing (modified content)
    modified:   contrib/sysroot (modified content)

no changes added to commit (use "git add" and/or "git commit -a")
-- CMAKE_BUILD_TYPE: Debug
-- Performing Test SUPPORTS_CXXFLAG_no_enum_constexpr_conversion
-- Performing Test SUPPORTS_CXXFLAG_no_enum_constexpr_conversion - Success
-- Performing Test SUPPORTS_CFLAG_no_enum_constexpr_conversion
-- Performing Test SUPPORTS_CFLAG_no_enum_constexpr_conversion - Success
-- No official build: A checksum hash will not be added to the clickhouse executable
-- Disabling compiler -pipe option (have only 6571 mb of memory)
-- Performing Test HAVE_SSSE3
-- Performing Test HAVE_SSSE3 - Success
-- Performing Test HAVE_SSE41
-- Performing Test HAVE_SSE41 - Success
-- Performing Test HAVE_SSE42
-- Performing Test HAVE_SSE42 - Success
-- Performing Test HAVE_PCLMULQDQ
-- Performing Test HAVE_PCLMULQDQ - Success
-- Performing Test HAVE_POPCNT
-- Performing Test HAVE_POPCNT - Success
-- Performing Test HAVE_AVX
-- Performing Test HAVE_AVX - Success
-- Performing Test HAVE_AVX2
-- Performing Test HAVE_AVX2 - Success
-- Performing Test HAVE_AVX512
-- Performing Test HAVE_AVX512 - Success
-- Performing Test HAVE_AVX512_VBMI
-- Performing Test HAVE_AVX512_VBMI - Success
-- Performing Test HAVE_BMI
-- Performing Test HAVE_BMI - Success
-- Performing Test HAVE_BMI2
-- Performing Test HAVE_BMI2 - Success
-- Default libraries: -nodefaultlibs  -lc -lm -lpthread -ldl
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Performing Test HAVE_WARNING_UNUSED_BUT_SET_VARIABLE
-- Performing Test HAVE_WARNING_UNUSED_BUT_SET_VARIABLE - Success
-- Performing Test HAVE_WARNING_MISSING_ATTRIBUTES
-- Performing Test HAVE_WARNING_MISSING_ATTRIBUTES - Failed
-- Performing Test HAVE_WARNING_MAYBE_UNINITIALIZED
-- Performing Test HAVE_WARNING_MAYBE_UNINITIALIZED - Failed
-- Performing Test HAVE_WARNING_REGISTER
-- Performing Test HAVE_WARNING_REGISTER - Success
-- Unit tests are enabled
-- Building for: Darwin-23.0.0 x86_64 
-- Adding contrib module boringssl (configuring with boringssl-cmake)
-- Adding contrib module miniselect (configuring with miniselect-cmake)
-- Adding contrib module pdqsort (configuring with pdqsort-cmake)
-- Adding contrib module crc32-vpmsum (configuring with crc32-vpmsum-cmake)
-- crc32-vpmsum library is only supported on ppc64le
-- Adding contrib module sparsehash-c11 (configuring with sparsehash-c11-cmake)
-- Adding contrib module abseil-cpp (configuring with abseil-cpp-cmake)
-- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17
-- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17 - Success
-- Adding contrib module magic_enum (configuring with magic-enum-cmake)
-- Adding contrib module boost (configuring with boost-cmake)
-- Adding contrib module cctz (configuring with cctz-cmake)
-- Packaging with tzdata version: 2023c
-- Adding contrib module consistent-hashing (configuring with consistent-hashing)
-- Adding contrib module dragonbox (configuring with dragonbox-cmake)
-- Adding contrib module vectorscan (configuring with vectorscan-cmake)
-- Adding contrib module jemalloc (configuring with jemalloc-cmake)
CMake Warning at contrib/jemalloc-cmake/CMakeLists.txt:20 (message):
  jemalloc support on non-Linux is EXPERIMENTAL


-- jemalloc malloc_conf: oversize_threshold:0,muzzy_decay_ms:5000,dirty_decay_ms:5000
-- Adding contrib module libcpuid (configuring with libcpuid-cmake)
-- Adding contrib module libdivide-cmake (configuring with libdivide-cmake)
-- Adding contrib module libmetrohash (configuring with libmetrohash)
-- Adding contrib module lz4 (configuring with lz4-cmake)
-- Adding contrib module murmurhash (configuring with murmurhash)
-- Adding contrib module replxx (configuring with replxx-cmake)
-- Adding contrib module unixodbc (configuring with unixodbc-cmake)
-- ODBC is only supported on Linux
-- Not using ODBC
-- Adding contrib module nanodbc (configuring with nanodbc-cmake)
-- Adding contrib module capnproto (configuring with capnproto-cmake)
-- Adding contrib module yaml-cpp (configuring with yaml-cpp-cmake)
-- Adding contrib module re2 (configuring with re2-cmake)
-- Adding contrib module xz (configuring with xz-cmake)
-- Adding contrib module brotli (configuring with brotli-cmake)
-- Adding contrib module double-conversion (configuring with double-conversion-cmake)
-- Adding contrib module croaring (configuring with croaring-cmake)
-- Adding contrib module zstd (configuring with zstd-cmake)
-- Adding contrib module zlib-ng (configuring with zlib-ng-cmake)
-- Adding contrib module bzip2 (configuring with bzip2-cmake)
-- Adding contrib module minizip-ng (configuring with minizip-ng-cmake)
-- Adding contrib module snappy (configuring with snappy-cmake)
-- Adding contrib module rocksdb (configuring with rocksdb-cmake)
-- Performing Test HAVE_FALLOCATE
-- Performing Test HAVE_FALLOCATE - Failed
-- Performing Test HAVE_SYNC_FILE_RANGE_WRITE
-- Performing Test HAVE_SYNC_FILE_RANGE_WRITE - Failed
-- Performing Test HAVE_PTHREAD_MUTEX_ADAPTIVE_NP
-- Performing Test HAVE_PTHREAD_MUTEX_ADAPTIVE_NP - Failed
-- Looking for malloc_usable_size
-- Looking for malloc_usable_size - not found
-- Adding contrib module thrift (configuring with thrift-cmake)
-- Looking for arpa/inet.h
-- Looking for arpa/inet.h - found
-- Looking for fcntl.h
-- Looking for fcntl.h - found
-- Looking for getopt.h
-- Looking for getopt.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for netdb.h
-- Looking for netdb.h - found
-- Looking for netinet/in.h
-- Looking for netinet/in.h - found
-- Looking for signal.h
-- Looking for signal.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for sys/ioctl.h
-- Looking for sys/ioctl.h - found
-- Looking for sys/param.h
-- Looking for sys/param.h - found
-- Looking for sys/resource.h
-- Looking for sys/resource.h - found
-- Looking for sys/socket.h
-- Looking for sys/socket.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for sys/un.h
-- Looking for sys/un.h - found
-- Looking for poll.h
-- Looking for poll.h - found
-- Looking for sys/poll.h
-- Looking for sys/poll.h - found
-- Looking for sys/select.h
-- Looking for sys/select.h - found
-- Looking for sched.h
-- Looking for sched.h - found
-- Looking for string.h
-- Looking for string.h - found
-- Looking for strings.h
-- Looking for strings.h - found
-- Performing Test HAVE_AF_UNIX_H
-- Performing Test HAVE_AF_UNIX_H - Failed
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for gethostbyname_r
-- Looking for gethostbyname_r - not found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for sched_get_priority_max
-- Looking for sched_get_priority_max - found
-- Looking for sched_get_priority_min
-- Looking for sched_get_priority_min - found
-- Performing Test STRERROR_R_CHAR_P
-- Performing Test STRERROR_R_CHAR_P - Failed
-- Adding contrib module arrow (configuring with arrow-cmake)
-- Looking for strtof_l
-- Looking for strtof_l - not found
-- Looking for strtoull_l
-- Looking for strtoull_l - not found
-- CMAKE_CXX_FLAGS:  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion -fsized-deallocation  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -stdlib=libc++ -fdiagnostics-absolute-paths -fstrict-vtable-pointers -w -std=c++11 -Wall -pedantic -Werror -Wextra -Wno-unused-parameter -stdlib=libc++
fatal: No names found, cannot describe anything.
CMake Warning at contrib/flatbuffers/CMake/Version.cmake:22 (message):
  git describe failed with exit code: 128
Call Stack (most recent call first):
  contrib/flatbuffers/CMakeLists.txt:562 (include)


-- Proceeding with version: 2.0.0.0
-- Adding contrib module avro (configuring with avro-cmake)
-- Adding contrib module google-protobuf (configuring with google-protobuf-cmake)
-- Adding contrib module openldap (configuring with openldap-cmake)
-- Adding contrib module grpc (configuring with grpc-cmake)
CMake Warning (dev) at contrib/grpc/CMakeLists.txt:49 (option):
  Policy CMP0077 is not set: option() honors normal variables.  Run "cmake
  --help-policy CMP0077" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  For compatibility with older versions of CMake, option is clearing the
  normal variable 'gRPC_BUILD_CSHARP_EXT'.
This warning is for project developers.  Use -Wno-dev to suppress it.


-- Adding contrib module msgpack-c (configuring with msgpack-c-cmake)
-- Adding contrib module libarchive (configuring with libarchive-cmake)
-- Adding contrib module corrosion (configuring with corrosion-cmake)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.67.1 (d5a82bbd2 2023-02-07)`
-- Rust Toolchain: stable-x86_64-apple-darwin
-- Rust Target: x86_64-apple-darwin
-- Found Rust: /Users/karuppiah/.rustup/toolchains/stable-x86_64-apple-darwin/bin/rustc (found version "1.67.1") 
-- Checking Rust toolchain for current target
-- Switched Rust target to x86_64-apple-darwin
-- Rust Toolchain: stable-x86_64-apple-darwin
-- Using Corrosion as a subdirectory
-- Adding contrib module wyhash (configuring with wyhash-cmake)
-- Adding contrib module cityhash102 (configuring with cityhash102)
-- Adding contrib module libfarmhash (configuring with libfarmhash)
-- Adding contrib module icu (configuring with icu-cmake)
-- Not using icu
-- Adding contrib module h3 (configuring with h3-cmake)
-- Adding contrib module mariadb-connector-c (configuring with mariadb-connector-c-cmake)
-- Build without mysqlclient (support for MYSQL dictionary source will be disabled)
-- Adding contrib module libfiu (configuring with libfiu-cmake)
-- Adding contrib module googletest (configuring with googletest-cmake)
-- Adding contrib module llvm-project (configuring with llvm-project-cmake)
-- Not using LLVM
-- Adding contrib module llvm-project (configuring with libfuzzer-cmake)
-- Adding contrib module llvm-project (configuring with gwpasan-cmake)
-- Not using gwp-asan
-- Adding contrib module libxml2 (configuring with libxml2-cmake)
-- Adding contrib module aws;aws-c-auth;aws-c-cal;aws-c-common;aws-c-compression;aws-c-event-stream;aws-c-http;aws-c-io;aws-c-mqtt;aws-c-s3;aws-c-sdkutils;aws-s2n-tls;aws-checksums;aws-crt-cpp;aws-cmake (configuring with aws-cmake)
-- Performing Test AWS_HAVE_GCC_OVERFLOW_MATH_EXTENSIONS
-- Performing Test AWS_HAVE_GCC_OVERFLOW_MATH_EXTENSIONS - Success
-- Performing Test AWS_HAVE_MSVC_MULX
-- Performing Test AWS_HAVE_MSVC_MULX - Failed
-- Performing Test AWS_HAVE_WINAPI_DESKTOP
-- Performing Test AWS_HAVE_WINAPI_DESKTOP - Failed
-- Performing Test AWS_ARCH_INTEL
-- Performing Test AWS_ARCH_INTEL - Success
-- Performing Test AWS_ARCH_ARM64
-- Performing Test AWS_ARCH_ARM64 - Failed
-- Performing Test AWS_ARCH_ARM32
-- Performing Test AWS_ARCH_ARM32 - Failed
-- Performing Test AWS_HAVE_GCC_INLINE_ASM
-- Performing Test AWS_HAVE_GCC_INLINE_ASM - Success
-- Performing Test AWS_HAVE_AUXV
-- Performing Test AWS_HAVE_AUXV - Failed
-- Performing Test AWS_HAVE_EXECINFO
-- Performing Test AWS_HAVE_EXECINFO - Success
-- Performing Test AWS_HAVE_LINUX_IF_LINK_H
-- Performing Test AWS_HAVE_LINUX_IF_LINK_H - Failed
-- Performing Test HAVE_M_AVX2_FLAG
-- Performing Test HAVE_M_AVX2_FLAG - Success
-- Performing Test HAVE_AVX2_INTRINSICS
-- Performing Test HAVE_AVX2_INTRINSICS - Success
-- Performing Test HAVE_MM256_EXTRACT_EPI64
-- Performing Test HAVE_MM256_EXTRACT_EPI64 - Success
-- Adding contrib module aklomp-base64 (configuring with aklomp-base64-cmake)
-- Adding contrib module simdjson (configuring with simdjson-cmake)
-- Adding contrib module rapidjson (configuring with rapidjson-cmake)
-- Adding contrib module fastops (configuring with fastops-cmake)
-- Not using fastops
-- Adding contrib module libuv (configuring with libuv-cmake)
-- Adding contrib module liburing (configuring with liburing-cmake)
-- Not using liburing
-- Adding contrib module AMQP-CPP (configuring with amqpcpp-cmake)
-- Adding contrib module cassandra (configuring with cassandra-cmake)
-- Adding contrib module fmtlib (configuring with fmtlib-cmake)
-- Adding contrib module krb5 (configuring with krb5-cmake)
-- Adding contrib module cyrus-sasl (configuring with cyrus-sasl-cmake)
-- Adding contrib module libgsasl (configuring with libgsasl-cmake)
-- Adding contrib module librdkafka (configuring with librdkafka-cmake)
-- librdkafka with SASL support
-- librdkafka with SSL support
-- Adding contrib module nats-io (configuring with nats-io-cmake)
-- Adding contrib module isa-l (configuring with isa-l-cmake)
CMake Error at contrib/isa-l-cmake/CMakeLists.txt:19 (message):
  Please install NASM from 'https://www.nasm.us/' because NASM compiler can
  not be found!


-- Configuring incomplete, errors occurred!

I had to fix this error about the NASM compiler. I installed nasm using a zip file on the https://www.nasm.us website. The latest stable version of nasm as of this writing is - 2.16.01

$ wget https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/macosx/nasm-2.16.01-macosx.zip
--2023-10-18 13:32:34--  https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/macosx/nasm-2.16.01-macosx.zip
Resolving www.nasm.us (www.nasm.us)... 2607:7c80:54:3::136, 198.137.202.136
Connecting to www.nasm.us (www.nasm.us)|2607:7c80:54:3::136|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1676869 (1.6M) [application/zip]
Saving to: โ€˜nasm-2.16.01-macosx.zipโ€™

nasm-2.16.01-macosx.zip       100%[===============================================>]   1.60M   789KB/s    in 2.1s    

2023-10-18 13:32:37 (789 KB/s) - โ€˜nasm-2.16.01-macosx.zipโ€™ saved [1676869/1676869]

$ unzip nasm-2.16.01-macosx.zip 
Archive:  nasm-2.16.01-macosx.zip
  inflating: nasm-2.16.01/nasm       
  inflating: nasm-2.16.01/LICENSE    
  inflating: nasm-2.16.01/ndisasm    
  inflating: nasm-2.16.01/nasmdoc.pdf  
  inflating: nasm-2.16.01/man1/ndisasm.1  
  inflating: nasm-2.16.01/man1/nasm.1  


$ ./nasm-2.16.01/nasm --version
NASM version 2.16.01 compiled on Dec 21 2022


$ ./nasm-2.16.01/nasm          
nasm: fatal: no input file specified
Type ./nasm-2.16.01/nasm -h for help.

$ sudo cp ./nasm-2.16.01/nasm /usr/local/bin/
Password:


$ nasm
nasm: fatal: no input file specified
Type nasm -h for help.


$ which nasm
/usr/local/bin/nasm

I also updated my rustc compiler version on the side since I noticed a bit of rust programs being used in ClickHouse DB

$ rustc --version
rustc 1.67.1 (d5a82bbd2 2023-02-07)


$ which rustup
/Users/karuppiah/.cargo/bin/rustup


$ ls -al /Users/karuppiah/.cargo/bin/rustup
-rwxr-xr-x  13 karuppiah  staff  10196192 Feb 13  2023 /Users/karuppiah/.cargo/bin/rustup


$ rustup 
rustup 1.25.2 (fae52a197 2023-02-01)
The Rust toolchain installer

USAGE:
    rustup [FLAGS] [+toolchain] <SUBCOMMAND>

FLAGS:
    -v, --verbose    Enable verbose output
    -q, --quiet      Disable progress output
    -h, --help       Prints help information
    -V, --version    Prints version information

ARGS:
    <+toolchain>    release channel (e.g. +stable) or custom toolchain to set override

SUBCOMMANDS:
    show           Show the active and installed toolchains or profiles
    update         Update Rust toolchains and rustup
    check          Check for updates to Rust toolchains and rustup
    default        Set the default toolchain
    toolchain      Modify or query the installed toolchains
    target         Modify a toolchain's supported targets
    component      Modify a toolchain's installed components
    override       Modify directory toolchain overrides
    run            Run a command with an environment configured for a given toolchain
    which          Display which binary will be run for a given command
    doc            Open the documentation for the current toolchain
    man            View the man page for a given command
    self           Modify the rustup installation
    set            Alter rustup settings
    completions    Generate tab-completion scripts for your shell
    help           Prints this message or the help of the given subcommand(s)

DISCUSSION:
    Rustup installs The Rust Programming Language from the official
    release channels, enabling you to easily switch between stable,
    beta, and nightly compilers and keep them updated. It makes
    cross-compiling simpler with binary builds of the standard library
    for common platforms.

    If you are new to Rust consider running `rustup doc --book` to
    learn Rust.


$ rustup toolchain
rustup-toolchain 
Modify or query the installed toolchains

USAGE:
    rustup toolchain <SUBCOMMAND>

FLAGS:
    -h, --help    Prints help information

SUBCOMMANDS:
    list         List installed toolchains
    install      Install or update a given toolchain
    uninstall    Uninstall a toolchain
    link         Create a custom toolchain by symlinking to a directory
    help         Prints this message or the help of the given subcommand(s)

DISCUSSION:
    Many `rustup` commands deal with *toolchains*, a single
    installation of the Rust compiler. `rustup` supports multiple
    types of toolchains. The most basic track the official release
    channels: 'stable', 'beta' and 'nightly'; but `rustup` can also
    install toolchains from the official archives, for alternate host
    platforms, and from local builds.

    Standard release channel toolchain names have the following form:

        <channel>[-<date>][-<host>]

        <channel>       = stable|beta|nightly|<major.minor>|<major.minor.patch>
        <date>          = YYYY-MM-DD
        <host>          = <target-triple>

    'channel' is a named release channel, a major and minor version
    number such as `1.42`, or a fully specified version number, such
    as `1.42.0`. Channel names can be optionally appended with an
    archive date, as in `nightly-2014-12-18`, in which case the
    toolchain is downloaded from the archive for that date.

    The host may be specified as a target triple. This is most useful
    for installing a 32-bit compiler on a 64-bit platform, or for
    installing the [MSVC-based toolchain] on Windows. For example:

        $ rustup toolchain install stable-x86_64-pc-windows-msvc

    For convenience, omitted elements of the target triple will be
    inferred, so the above could be written:

        $ rustup toolchain install stable-msvc

    The `rustup default` command may be used to both install and set
    the desired toolchain as default in a single command:

        $ rustup default stable-msvc

    rustup can also manage symlinked local toolchain builds, which are
    often used for developing Rust itself. For more information see
    `rustup toolchain help link`.


$ rustup toolchain list
stable-x86_64-apple-darwin (default)
1.66.1-x86_64-apple-darwin


$ rustc -v 
error: no input filename given



$ rustc --version
rustc 1.67.1 (d5a82bbd2 2023-02-07)


$ rustup update        
info: syncing channel updates for 'stable-x86_64-apple-darwin'
info: latest update on 2023-10-05, rust version 1.73.0 (cc66ad468 2023-10-03)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
 13.8 MiB /  13.8 MiB (100 %)   9.6 MiB/s in  1s ETA:  0s
info: downloading component 'rust-std'
 23.3 MiB /  23.3 MiB (100 %)  11.5 MiB/s in  2s ETA:  0s
info: downloading component 'rustc'
 56.1 MiB /  56.1 MiB (100 %)  10.1 MiB/s in  7s ETA:  0s
info: downloading component 'rustfmt'
info: removing previous version of component 'cargo'
info: removing previous version of component 'clippy'
info: removing previous version of component 'rust-docs'
info: removing previous version of component 'rust-std'
info: removing previous version of component 'rustc'
info: removing previous version of component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
 13.8 MiB /  13.8 MiB (100 %)   5.9 MiB/s in  2s ETA:  0s
info: installing component 'rust-std'
 23.3 MiB /  23.3 MiB (100 %)  13.6 MiB/s in  1s ETA:  0s
info: installing component 'rustc'
 56.1 MiB /  56.1 MiB (100 %)  15.2 MiB/s in  3s ETA:  0s
info: installing component 'rustfmt'
info: checking for self-updates
info: downloading self-update

  stable-x86_64-apple-darwin updated - rustc 1.73.0 (cc66ad468 2023-10-03) (from rustc 1.67.1 (d5a82bbd2 2023-02-07))

info: cleaning up downloads & tmp directories


$ 


$ rustc --version
rustc 1.73.0 (cc66ad468 2023-10-03)


$ rustup --version
rustup 1.26.0 (5af9b9484 2023-04-05)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.73.0 (cc66ad468 2023-10-03)`

I ran cmake again! I got some intermittent network errors this time. I think it was probably due to my laptop ๐Ÿ’ป sleeping off since there was no activity on the machine

$ export CC=clang CXX=clang++

$ cmake -D CMAKE_BUILD_TYPE=Debug ..
-- Using compiler:
Homebrew clang version 17.0.2
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
-- Using linker: /usr/bin/ld
-- Using archiver: /usr/local/opt/llvm/bin/llvm-ar
-- Using ranlib: /usr/local/opt/llvm/bin/llvm-ranlib
-- Using install-name-tool: /usr/local/opt/llvm/bin/llvm-install-name-tool
-- Using objcopy: /usr/local/opt/llvm/bin/llvm-objcopy
-- Using strip: /usr/local/opt/llvm/bin/llvm-strip
-- Using ccache: /usr/local/bin/ccache (version 4.8.3)
-- Git HEAD commit hash: 1d46ed75db43de34ebe5255d8aa0935017708f58
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
    modified:   contrib/liburing (modified content)
    modified:   contrib/sysroot (modified content)

no changes added to commit (use "git add" and/or "git commit -a")
-- CMAKE_BUILD_TYPE: Debug
-- No official build: A checksum hash will not be added to the clickhouse executable
-- Disabling compiler -pipe option (have only 6105 mb of memory)
-- Default libraries: -nodefaultlibs  -lc -lm -lpthread -ldl
-- Unit tests are enabled
-- Building for: Darwin-23.0.0 x86_64 
-- Adding contrib module boringssl (configuring with boringssl-cmake)
-- Adding contrib module miniselect (configuring with miniselect-cmake)
-- Adding contrib module pdqsort (configuring with pdqsort-cmake)
-- Adding contrib module crc32-vpmsum (configuring with crc32-vpmsum-cmake)
-- crc32-vpmsum library is only supported on ppc64le
-- Adding contrib module sparsehash-c11 (configuring with sparsehash-c11-cmake)
-- Adding contrib module abseil-cpp (configuring with abseil-cpp-cmake)
-- Adding contrib module magic_enum (configuring with magic-enum-cmake)
-- Adding contrib module boost (configuring with boost-cmake)
-- Adding contrib module cctz (configuring with cctz-cmake)
-- Packaging with tzdata version: 2023c
-- Adding contrib module consistent-hashing (configuring with consistent-hashing)
-- Adding contrib module dragonbox (configuring with dragonbox-cmake)
-- Adding contrib module vectorscan (configuring with vectorscan-cmake)
-- Adding contrib module jemalloc (configuring with jemalloc-cmake)
CMake Warning at contrib/jemalloc-cmake/CMakeLists.txt:20 (message):
  jemalloc support on non-Linux is EXPERIMENTAL


-- jemalloc malloc_conf: oversize_threshold:0,muzzy_decay_ms:5000,dirty_decay_ms:5000
-- Adding contrib module libcpuid (configuring with libcpuid-cmake)
-- Adding contrib module libdivide-cmake (configuring with libdivide-cmake)
-- Adding contrib module libmetrohash (configuring with libmetrohash)
-- Adding contrib module lz4 (configuring with lz4-cmake)
-- Adding contrib module murmurhash (configuring with murmurhash)
-- Adding contrib module replxx (configuring with replxx-cmake)
-- Adding contrib module unixodbc (configuring with unixodbc-cmake)
-- Not using ODBC
-- Adding contrib module nanodbc (configuring with nanodbc-cmake)
-- Adding contrib module capnproto (configuring with capnproto-cmake)
-- Adding contrib module yaml-cpp (configuring with yaml-cpp-cmake)
-- Adding contrib module re2 (configuring with re2-cmake)
-- Adding contrib module xz (configuring with xz-cmake)
-- Adding contrib module brotli (configuring with brotli-cmake)
-- Adding contrib module double-conversion (configuring with double-conversion-cmake)
-- Adding contrib module croaring (configuring with croaring-cmake)
-- Adding contrib module zstd (configuring with zstd-cmake)
-- Adding contrib module zlib-ng (configuring with zlib-ng-cmake)
-- Adding contrib module bzip2 (configuring with bzip2-cmake)
-- Adding contrib module minizip-ng (configuring with minizip-ng-cmake)
-- Adding contrib module snappy (configuring with snappy-cmake)
-- Adding contrib module rocksdb (configuring with rocksdb-cmake)
-- Adding contrib module thrift (configuring with thrift-cmake)
-- Adding contrib module arrow (configuring with arrow-cmake)
-- CMAKE_CXX_FLAGS:  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion -fsized-deallocation  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -stdlib=libc++ -fdiagnostics-absolute-paths -fstrict-vtable-pointers -w -std=c++11 -Wall -pedantic -Werror -Wextra -Wno-unused-parameter -stdlib=libc++
fatal: No names found, cannot describe anything.
CMake Warning at contrib/flatbuffers/CMake/Version.cmake:22 (message):
  git describe failed with exit code: 128
Call Stack (most recent call first):
  contrib/flatbuffers/CMakeLists.txt:562 (include)


-- Proceeding with version: 2.0.0.0
-- Adding contrib module avro (configuring with avro-cmake)
-- Adding contrib module google-protobuf (configuring with google-protobuf-cmake)
-- Adding contrib module openldap (configuring with openldap-cmake)
-- Adding contrib module grpc (configuring with grpc-cmake)
-- Adding contrib module msgpack-c (configuring with msgpack-c-cmake)
-- Adding contrib module libarchive (configuring with libarchive-cmake)
-- Adding contrib module corrosion (configuring with corrosion-cmake)
-- Rust Toolchain: stable-x86_64-apple-darwin
-- Rust Target: x86_64-apple-darwin
-- Checking Rust toolchain for current target
-- Switched Rust target to x86_64-apple-darwin
-- Rust Toolchain: stable-x86_64-apple-darwin
-- Using Corrosion as a subdirectory
-- Adding contrib module wyhash (configuring with wyhash-cmake)
-- Adding contrib module cityhash102 (configuring with cityhash102)
-- Adding contrib module libfarmhash (configuring with libfarmhash)
-- Adding contrib module icu (configuring with icu-cmake)
-- Not using icu
-- Adding contrib module h3 (configuring with h3-cmake)
-- Adding contrib module mariadb-connector-c (configuring with mariadb-connector-c-cmake)
-- Build without mysqlclient (support for MYSQL dictionary source will be disabled)
-- Adding contrib module libfiu (configuring with libfiu-cmake)
-- Adding contrib module googletest (configuring with googletest-cmake)
-- Adding contrib module llvm-project (configuring with llvm-project-cmake)
-- Not using LLVM
-- Adding contrib module llvm-project (configuring with libfuzzer-cmake)
-- Adding contrib module llvm-project (configuring with gwpasan-cmake)
-- Not using gwp-asan
-- Adding contrib module libxml2 (configuring with libxml2-cmake)
-- Adding contrib module aws;aws-c-auth;aws-c-cal;aws-c-common;aws-c-compression;aws-c-event-stream;aws-c-http;aws-c-io;aws-c-mqtt;aws-c-s3;aws-c-sdkutils;aws-s2n-tls;aws-checksums;aws-crt-cpp;aws-cmake (configuring with aws-cmake)
-- Adding contrib module aklomp-base64 (configuring with aklomp-base64-cmake)
-- Adding contrib module simdjson (configuring with simdjson-cmake)
-- Adding contrib module rapidjson (configuring with rapidjson-cmake)
-- Adding contrib module fastops (configuring with fastops-cmake)
-- Not using fastops
-- Adding contrib module libuv (configuring with libuv-cmake)
-- Adding contrib module liburing (configuring with liburing-cmake)
-- Not using liburing
-- Adding contrib module AMQP-CPP (configuring with amqpcpp-cmake)
-- Adding contrib module cassandra (configuring with cassandra-cmake)
-- Adding contrib module fmtlib (configuring with fmtlib-cmake)
-- Adding contrib module krb5 (configuring with krb5-cmake)
-- Adding contrib module cyrus-sasl (configuring with cyrus-sasl-cmake)
-- Adding contrib module libgsasl (configuring with libgsasl-cmake)
-- Adding contrib module librdkafka (configuring with librdkafka-cmake)
-- librdkafka with SASL support
-- librdkafka with SSL support
-- Adding contrib module nats-io (configuring with nats-io-cmake)
-- Adding contrib module isa-l (configuring with isa-l-cmake)
-- Looking for a ASM_NASM compiler
-- Looking for a ASM_NASM compiler - /usr/local/bin/nasm
-- The ASM_NASM compiler identification is NASM
-- Found assembler: /usr/local/bin/nasm
-- Adding contrib module libhdfs3 (configuring with libhdfs3-cmake)
-- Not using HDFS
-- Adding contrib module hive-metastore (configuring with hive-metastore-cmake)
-- Not using hive
-- Adding contrib module cppkafka (configuring with cppkafka-cmake)
-- Adding contrib module libpqxx (configuring with libpqxx-cmake)
-- Adding contrib module libpq (configuring with libpq-cmake)
-- Adding contrib module NuRaft (configuring with nuraft-cmake)
-- Adding contrib module fast_float (configuring with fast_float-cmake)
-- Adding contrib module datasketches-cpp (configuring with datasketches-cpp-cmake)
-- Adding contrib module incbin (configuring with incbin-cmake)
-- Adding contrib module libstemmer_c (configuring with libstemmer-c-cmake)
-- Adding contrib module wordnet-blast (configuring with wordnet-blast-cmake)
-- Adding contrib module lemmagen-c (configuring with lemmagen-c-cmake)
-- Adding contrib module cld2 (configuring with cld2-cmake)
-- Adding contrib module sqlite-amalgamation (configuring with sqlite-cmake)
-- Adding contrib module s2geometry (configuring with s2geometry-cmake)
-- Adding contrib module c-ares (configuring with c-ares-cmake)
-- Not using QPL
-- Adding contrib module morton-nd (configuring with morton-nd-cmake)
-- Adding contrib module annoy (configuring with annoy-cmake)
-- Adding contrib module FP16 (configuring with FP16-cmake)
-- Adding contrib module robin-map (configuring with robin-map-cmake)
-- Adding contrib module SimSIMD (configuring with SimSIMD-cmake)
-- Adding contrib module usearch (configuring with usearch-cmake)
-- Adding contrib module xxHash (configuring with xxHash-cmake)
-- Adding contrib module libbcrypt (configuring with libbcrypt-cmake)
-- Adding contrib module google-benchmark (configuring with google-benchmark-cmake)
-- Adding contrib module ulid-c (configuring with ulid-c-cmake)
-- Adding contrib module libssh (configuring with libssh-cmake)
-- Performing Test SUPPORTS_CXXFLAG_everything
-- Performing Test SUPPORTS_CXXFLAG_everything - Success
-- Performing Test SUPPORTS_CFLAG_everything
-- Performing Test SUPPORTS_CFLAG_everything - Success
-- Performing Test SUPPORTS_CXXFLAG_pedantic
-- Performing Test SUPPORTS_CXXFLAG_pedantic - Success
-- Performing Test SUPPORTS_CFLAG_pedantic
-- Performing Test SUPPORTS_CFLAG_pedantic - Success
-- Performing Test SUPPORTS_CXXFLAG_no_zero_length_array
-- Performing Test SUPPORTS_CXXFLAG_no_zero_length_array - Success
-- Performing Test SUPPORTS_CFLAG_no_zero_length_array
-- Performing Test SUPPORTS_CFLAG_no_zero_length_array - Success
-- Performing Test SUPPORTS_CXXFLAG_no_cxx98_compat_pedantic
-- Performing Test SUPPORTS_CXXFLAG_no_cxx98_compat_pedantic - Success
-- Performing Test SUPPORTS_CFLAG_no_cxx98_compat_pedantic
-- Performing Test SUPPORTS_CFLAG_no_cxx98_compat_pedantic - Success
-- Performing Test SUPPORTS_CXXFLAG_no_cxx98_compat
-- Performing Test SUPPORTS_CXXFLAG_no_cxx98_compat - Success
-- Performing Test SUPPORTS_CFLAG_no_cxx98_compat
-- Performing Test SUPPORTS_CFLAG_no_cxx98_compat - Success
-- Performing Test SUPPORTS_CXXFLAG_no_cxx20_compat
-- Performing Test SUPPORTS_CXXFLAG_no_cxx20_compat - Success
-- Performing Test SUPPORTS_CFLAG_no_cxx20_compat
-- Performing Test SUPPORTS_CFLAG_no_cxx20_compat - Success
-- Performing Test SUPPORTS_CXXFLAG_no_sign_conversion
-- Performing Test SUPPORTS_CXXFLAG_no_sign_conversion - Success
-- Performing Test SUPPORTS_CFLAG_no_sign_conversion
-- Performing Test SUPPORTS_CFLAG_no_sign_conversion - Success
-- Performing Test SUPPORTS_CXXFLAG_no_implicit_int_conversion
-- Performing Test SUPPORTS_CXXFLAG_no_implicit_int_conversion - Success
-- Performing Test SUPPORTS_CFLAG_no_implicit_int_conversion
-- Performing Test SUPPORTS_CFLAG_no_implicit_int_conversion - Success
-- Performing Test SUPPORTS_CXXFLAG_no_implicit_int_float_conversion
-- Performing Test SUPPORTS_CXXFLAG_no_implicit_int_float_conversion - Success
-- Performing Test SUPPORTS_CFLAG_no_implicit_int_float_conversion
-- Performing Test SUPPORTS_CFLAG_no_implicit_int_float_conversion - Success
-- Performing Test SUPPORTS_CXXFLAG_no_ctad_maybe_unsupported
-- Performing Test SUPPORTS_CXXFLAG_no_ctad_maybe_unsupported - Success
-- Performing Test SUPPORTS_CFLAG_no_ctad_maybe_unsupported
-- Performing Test SUPPORTS_CFLAG_no_ctad_maybe_unsupported - Success
-- Performing Test SUPPORTS_CXXFLAG_no_disabled_macro_expansion
-- Performing Test SUPPORTS_CXXFLAG_no_disabled_macro_expansion - Success
-- Performing Test SUPPORTS_CFLAG_no_disabled_macro_expansion
-- Performing Test SUPPORTS_CFLAG_no_disabled_macro_expansion - Success
-- Performing Test SUPPORTS_CXXFLAG_no_documentation_unknown_command
-- Performing Test SUPPORTS_CXXFLAG_no_documentation_unknown_command - Success
-- Performing Test SUPPORTS_CFLAG_no_documentation_unknown_command
-- Performing Test SUPPORTS_CFLAG_no_documentation_unknown_command - Success
-- Performing Test SUPPORTS_CXXFLAG_no_double_promotion
-- Performing Test SUPPORTS_CXXFLAG_no_double_promotion - Success
-- Performing Test SUPPORTS_CFLAG_no_double_promotion
-- Performing Test SUPPORTS_CFLAG_no_double_promotion - Success
-- Performing Test SUPPORTS_CXXFLAG_no_exit_time_destructors
-- Performing Test SUPPORTS_CXXFLAG_no_exit_time_destructors - Success
-- Performing Test SUPPORTS_CFLAG_no_exit_time_destructors
-- Performing Test SUPPORTS_CFLAG_no_exit_time_destructors - Success
-- Performing Test SUPPORTS_CXXFLAG_no_float_equal
-- Performing Test SUPPORTS_CXXFLAG_no_float_equal - Success
-- Performing Test SUPPORTS_CFLAG_no_float_equal
-- Performing Test SUPPORTS_CFLAG_no_float_equal - Success
-- Performing Test SUPPORTS_CXXFLAG_no_global_constructors
-- Performing Test SUPPORTS_CXXFLAG_no_global_constructors - Success
-- Performing Test SUPPORTS_CFLAG_no_global_constructors
-- Performing Test SUPPORTS_CFLAG_no_global_constructors - Success
-- Performing Test SUPPORTS_CXXFLAG_no_missing_prototypes
-- Performing Test SUPPORTS_CXXFLAG_no_missing_prototypes - Success
-- Performing Test SUPPORTS_CFLAG_no_missing_prototypes
-- Performing Test SUPPORTS_CFLAG_no_missing_prototypes - Success
-- Performing Test SUPPORTS_CXXFLAG_no_missing_variable_declarations
-- Performing Test SUPPORTS_CXXFLAG_no_missing_variable_declarations - Success
-- Performing Test SUPPORTS_CFLAG_no_missing_variable_declarations
-- Performing Test SUPPORTS_CFLAG_no_missing_variable_declarations - Success
-- Performing Test SUPPORTS_CXXFLAG_no_padded
-- Performing Test SUPPORTS_CXXFLAG_no_padded - Success
-- Performing Test SUPPORTS_CFLAG_no_padded
-- Performing Test SUPPORTS_CFLAG_no_padded - Success
-- Performing Test SUPPORTS_CXXFLAG_no_switch_enum
-- Performing Test SUPPORTS_CXXFLAG_no_switch_enum - Success
-- Performing Test SUPPORTS_CFLAG_no_switch_enum
-- Performing Test SUPPORTS_CFLAG_no_switch_enum - Success
-- Performing Test SUPPORTS_CXXFLAG_no_undefined_func_template
-- Performing Test SUPPORTS_CXXFLAG_no_undefined_func_template - Success
-- Performing Test SUPPORTS_CFLAG_no_undefined_func_template
-- Performing Test SUPPORTS_CFLAG_no_undefined_func_template - Success
-- Performing Test SUPPORTS_CXXFLAG_no_unused_template
-- Performing Test SUPPORTS_CXXFLAG_no_unused_template - Success
-- Performing Test SUPPORTS_CFLAG_no_unused_template
-- Performing Test SUPPORTS_CFLAG_no_unused_template - Success
-- Performing Test SUPPORTS_CXXFLAG_no_vla
-- Performing Test SUPPORTS_CXXFLAG_no_vla - Success
-- Performing Test SUPPORTS_CFLAG_no_vla
-- Performing Test SUPPORTS_CFLAG_no_vla - Success
-- Performing Test SUPPORTS_CXXFLAG_no_weak_template_vtables
-- Performing Test SUPPORTS_CXXFLAG_no_weak_template_vtables - Success
-- Performing Test SUPPORTS_CFLAG_no_weak_template_vtables
-- Performing Test SUPPORTS_CFLAG_no_weak_template_vtables - Success
-- Performing Test SUPPORTS_CXXFLAG_no_weak_vtables
-- Performing Test SUPPORTS_CXXFLAG_no_weak_vtables - Success
-- Performing Test SUPPORTS_CFLAG_no_weak_vtables
-- Performing Test SUPPORTS_CFLAG_no_weak_vtables - Success
-- Performing Test SUPPORTS_CXXFLAG_no_thread_safety_negative
-- Performing Test SUPPORTS_CXXFLAG_no_thread_safety_negative - Success
-- Performing Test SUPPORTS_CFLAG_no_thread_safety_negative
-- Performing Test SUPPORTS_CFLAG_no_thread_safety_negative - Success
-- Performing Test SUPPORTS_CXXFLAG_no_unsafe_buffer_usage
-- Performing Test SUPPORTS_CXXFLAG_no_unsafe_buffer_usage - Success
-- Performing Test SUPPORTS_CFLAG_no_unsafe_buffer_usage
-- Performing Test SUPPORTS_CFLAG_no_unsafe_buffer_usage - Success
-- compiler C   = /Library/Developer/CommandLineTools/usr/bin/clang  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -fdiagnostics-absolute-paths -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -g -O0 -g -gdwarf-4 
-- compiler CXX = /Library/Developer/CommandLineTools/usr/bin/clang++  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion -fsized-deallocation  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -stdlib=libc++ -fdiagnostics-absolute-paths -fstrict-vtable-pointers -Wall -Wextra -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -g -O0 -g -gdwarf-4  -D_LIBCPP_DEBUG=0
-- LINKER_FLAGS =  --ld-path=/usr/bin/ld -Wl,-U,_inside_main 
-- RUST_CFLAGS:  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -fdiagnostics-absolute-paths -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk
-- RUST_CXXFLAGS:  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion -fsized-deallocation  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -stdlib=libc++ -fdiagnostics-absolute-paths -fstrict-vtable-pointers -Wall -Wextra -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -isystem /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/contrib/llvm-project/libcxx/include -nostdinc++ -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk
-- RUSTFLAGS: []
-- RUST_CARGO_BUILD_STD: 
-- Copy BLAKE3 to /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/BLAKE3
    Updating crates.io index
 Downloading crates ...
  Downloaded arrayvec v0.7.4
  Downloaded arrayref v0.3.7
  Downloaded constant_time_eq v0.3.0
  Downloaded cc v1.0.83
  Downloaded blake3 v1.5.0
  Downloaded libc v0.2.149
-- Copy skim to /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/skim
    Updating crates.io index
 Downloading crates ...
  Downloaded iana-time-zone-haiku v0.1.2
  Downloaded fuzzy-matcher v0.3.7
  Downloaded vte v0.11.1
  Downloaded wasm-bindgen-macro v0.2.87
  Downloaded wasm-bindgen-backend v0.2.87
  Downloaded rayon-core v1.12.0
  Downloaded windows-core v0.51.1
  Downloaded windows_i686_gnu v0.48.5
  Downloaded derive_builder v0.11.2
  Downloaded wasm-bindgen-shared v0.2.87
  Downloaded cxx v1.0.109
  Downloaded windows_aarch64_msvc v0.48.5
  Downloaded windows_x86_64_gnullvm v0.48.5
  Downloaded tuikit v0.5.0
  Downloaded windows_aarch64_gnullvm v0.48.5
  Downloaded js-sys v0.3.64
  Downloaded bumpalo v3.14.0
  Downloaded windows-targets v0.48.5
  Downloaded wasm-bindgen v0.2.87
  Downloaded darling_core v0.14.4
  Downloaded derive_builder_macro v0.11.2
  Downloaded darling_macro v0.14.4
  Downloaded cxxbridge-flags v1.0.109
  Downloaded bitflags v1.3.2
  Downloaded winapi-i686-pc-windows-gnu v0.4.0
  Downloaded darling v0.14.4
  Downloaded android-tzdata v0.1.1
  Downloaded arrayvec v0.7.4
  Downloaded lazy_static v1.4.0
  Downloaded log v0.4.20
  Downloaded vte_generate_state_changes v0.1.1
  Downloaded rustversion v1.0.14
  Downloaded wasi v0.11.0+wasi-snapshot-preview1
  Downloaded scopeguard v1.2.0
  Downloaded thiserror-impl v1.0.49
  Downloaded termcolor v1.3.0
  Downloaded pin-utils v0.1.0
  Downloaded memoffset v0.9.0
  Downloaded libc v0.2.149
  Downloaded wasm-bindgen-macro-support v0.2.87
  Downloaded strsim v0.10.0
  Downloaded quote v1.0.33
  Downloaded num-traits v0.2.17
  Downloaded deranged v0.3.9
  Downloaded once_cell v1.18.0
  Downloaded memoffset v0.6.5
  Downloaded getrandom v0.2.10
  Downloaded link-cplusplus v1.0.9
  Downloaded ident_case v1.0.1
  Downloaded either v1.9.0
  Downloaded crossbeam-utils v0.8.16
  Downloaded crossbeam v0.8.2
  Downloaded codespan-reporting v0.11.1
  Downloaded time v0.3.30
  Downloaded nix v0.24.3
  Downloaded winapi-util v0.1.6
  Downloaded powerfmt v0.2.0
  Downloaded nix v0.25.1
  Downloaded thread_local v1.1.7
  Downloaded serde_derive v1.0.189
  Downloaded redox_syscall v0.2.16
  Downloaded memchr v2.6.4
  Downloaded chrono v0.4.31
  Downloaded iana-time-zone v0.1.58
  Downloaded fnv v1.0.7
  Downloaded dirs-sys-next v0.1.2
  Downloaded dirs-next v2.0.0
  Downloaded defer-drop v1.3.0
  Downloaded crossbeam-queue v0.3.8
  Downloaded crossbeam-epoch v0.9.15
  Downloaded crossbeam-deque v0.8.3
  Downloaded crossbeam-channel v0.5.8
  Downloaded unicode-ident v1.0.12
  Downloaded utf8parse v0.2.1
  Downloaded time-core v0.1.2
  Downloaded thiserror v1.0.49
  Downloaded redox_users v0.4.3
  Downloaded term v0.7.0
  Downloaded serde v1.0.189
  Downloaded regex-automata v0.4.3
  Downloaded syn v2.0.38
  Downloaded syn v1.0.109
  Downloaded regex-syntax v0.8.2
  Downloaded windows_x86_64_gnu v0.48.5
  Downloaded derive_builder_core v0.11.2
  Downloaded rayon v1.8.0
  Downloaded proc-macro2 v1.0.69
  Downloaded regex v1.10.2
  Downloaded unicode-width v0.1.11
  Downloaded scratch v1.0.7
  Downloaded core-foundation-sys v0.8.4
  Downloaded cfg-if v1.0.0
  Downloaded cc v1.0.83
  Downloaded windows_x86_64_msvc v0.48.5
  Downloaded windows_i686_msvc v0.48.5
  Downloaded winapi v0.3.9
  Downloaded winapi-x86_64-pc-windows-gnu v0.4.0
  Downloaded timer v0.2.0
  Downloaded cxxbridge-macro v1.0.109
  Downloaded cxx-build v1.0.109
  Downloaded skim v0.10.4
  Downloaded beef v0.5.2
  Downloaded autocfg v1.1.0
  Downloaded android_system_properties v0.1.5
  Downloaded aho-corasick v1.1.2
-- RUST_CXXFLAGS (for skim):  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion -fsized-deallocation  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -stdlib=libc++ -fdiagnostics-absolute-paths -fstrict-vtable-pointers -Wall -Wextra -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -isystem /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/contrib/llvm-project/libcxx/include -nostdinc++ -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk -Wno-dollar-in-identifier-extension -Wno-unused-macros
-- Writing FFI Binding for skim: /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/Debug/cargo/build/x86_64-apple-darwin/cxxbridge/_ch_rust_skim_rust/src/lib.rs.cc => /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/skim/skim-ffi.cc
-- Copy prql to /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/prql
    Updating crates.io index
warning: spurious network error (3 tries remaining): [28] Timeout was reached (Operation too slow. Less than 10 bytes/sec transferred the last 30 seconds)



^C

I had to stop and rerun cmake and also ensure my laptop ๐Ÿ’ป doesn't sleep off ๐Ÿ›Œ ๐Ÿ˜ด ๐Ÿ’ค when there's no activity so that the build process in my terminal keeps running :)

I ran cmake yet again and got this -

$ export CC=clang CXX=clang++

$ cmake -D CMAKE_BUILD_TYPE=Debug ..
-- Using compiler:
Homebrew clang version 17.0.2
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
-- Using linker: /usr/bin/ld
-- Using archiver: /usr/local/opt/llvm/bin/llvm-ar
-- Using ranlib: /usr/local/opt/llvm/bin/llvm-ranlib
-- Using install-name-tool: /usr/local/opt/llvm/bin/llvm-install-name-tool
-- Using objcopy: /usr/local/opt/llvm/bin/llvm-objcopy
-- Using strip: /usr/local/opt/llvm/bin/llvm-strip
-- Using ccache: /usr/local/bin/ccache (version 4.8.3)
-- Git HEAD commit hash: 1d46ed75db43de34ebe5255d8aa0935017708f58
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
    modified:   contrib/liburing (modified content)
    modified:   contrib/sysroot (modified content)

no changes added to commit (use "git add" and/or "git commit -a")
-- CMAKE_BUILD_TYPE: Debug
-- No official build: A checksum hash will not be added to the clickhouse executable
-- Disabling compiler -pipe option (have only 6321 mb of memory)
-- Default libraries: -nodefaultlibs  -lc -lm -lpthread -ldl
-- Unit tests are enabled
-- Building for: Darwin-23.0.0 x86_64 
-- Adding contrib module boringssl (configuring with boringssl-cmake)
-- Adding contrib module miniselect (configuring with miniselect-cmake)
-- Adding contrib module pdqsort (configuring with pdqsort-cmake)
-- Adding contrib module crc32-vpmsum (configuring with crc32-vpmsum-cmake)
-- crc32-vpmsum library is only supported on ppc64le
-- Adding contrib module sparsehash-c11 (configuring with sparsehash-c11-cmake)
-- Adding contrib module abseil-cpp (configuring with abseil-cpp-cmake)
-- Adding contrib module magic_enum (configuring with magic-enum-cmake)
-- Adding contrib module boost (configuring with boost-cmake)
-- Adding contrib module cctz (configuring with cctz-cmake)
-- Packaging with tzdata version: 2023c
-- Adding contrib module consistent-hashing (configuring with consistent-hashing)
-- Adding contrib module dragonbox (configuring with dragonbox-cmake)
-- Adding contrib module vectorscan (configuring with vectorscan-cmake)
-- Adding contrib module jemalloc (configuring with jemalloc-cmake)
CMake Warning at contrib/jemalloc-cmake/CMakeLists.txt:20 (message):
  jemalloc support on non-Linux is EXPERIMENTAL


-- jemalloc malloc_conf: oversize_threshold:0,muzzy_decay_ms:5000,dirty_decay_ms:5000
-- Adding contrib module libcpuid (configuring with libcpuid-cmake)
-- Adding contrib module libdivide-cmake (configuring with libdivide-cmake)
-- Adding contrib module libmetrohash (configuring with libmetrohash)
-- Adding contrib module lz4 (configuring with lz4-cmake)
-- Adding contrib module murmurhash (configuring with murmurhash)
-- Adding contrib module replxx (configuring with replxx-cmake)
-- Adding contrib module unixodbc (configuring with unixodbc-cmake)
-- Not using ODBC
-- Adding contrib module nanodbc (configuring with nanodbc-cmake)
-- Adding contrib module capnproto (configuring with capnproto-cmake)
-- Adding contrib module yaml-cpp (configuring with yaml-cpp-cmake)
-- Adding contrib module re2 (configuring with re2-cmake)
-- Adding contrib module xz (configuring with xz-cmake)
-- Adding contrib module brotli (configuring with brotli-cmake)
-- Adding contrib module double-conversion (configuring with double-conversion-cmake)
-- Adding contrib module croaring (configuring with croaring-cmake)
-- Adding contrib module zstd (configuring with zstd-cmake)
-- Adding contrib module zlib-ng (configuring with zlib-ng-cmake)
-- Adding contrib module bzip2 (configuring with bzip2-cmake)
-- Adding contrib module minizip-ng (configuring with minizip-ng-cmake)
-- Adding contrib module snappy (configuring with snappy-cmake)
-- Adding contrib module rocksdb (configuring with rocksdb-cmake)
-- Adding contrib module thrift (configuring with thrift-cmake)
-- Adding contrib module arrow (configuring with arrow-cmake)
-- CMAKE_CXX_FLAGS:  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion -fsized-deallocation  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -stdlib=libc++ -fdiagnostics-absolute-paths -fstrict-vtable-pointers -w -std=c++11 -Wall -pedantic -Werror -Wextra -Wno-unused-parameter -stdlib=libc++
fatal: No names found, cannot describe anything.
CMake Warning at contrib/flatbuffers/CMake/Version.cmake:22 (message):
  git describe failed with exit code: 128
Call Stack (most recent call first):
  contrib/flatbuffers/CMakeLists.txt:562 (include)


-- Proceeding with version: 2.0.0.0
-- Adding contrib module avro (configuring with avro-cmake)
-- Adding contrib module google-protobuf (configuring with google-protobuf-cmake)
-- Adding contrib module openldap (configuring with openldap-cmake)
-- Adding contrib module grpc (configuring with grpc-cmake)
-- Adding contrib module msgpack-c (configuring with msgpack-c-cmake)
-- Adding contrib module libarchive (configuring with libarchive-cmake)
-- Adding contrib module corrosion (configuring with corrosion-cmake)
-- Rust Toolchain: stable-x86_64-apple-darwin
-- Rust Target: x86_64-apple-darwin
-- Found Rust: /Users/karuppiah/.rustup/toolchains/stable-x86_64-apple-darwin/bin/rustc (found version "1.73.0") 
-- Checking Rust toolchain for current target
-- Switched Rust target to x86_64-apple-darwin
-- Rust Toolchain: stable-x86_64-apple-darwin
-- Using Corrosion as a subdirectory
-- Adding contrib module wyhash (configuring with wyhash-cmake)
-- Adding contrib module cityhash102 (configuring with cityhash102)
-- Adding contrib module libfarmhash (configuring with libfarmhash)
-- Adding contrib module icu (configuring with icu-cmake)
-- Not using icu
-- Adding contrib module h3 (configuring with h3-cmake)
-- Adding contrib module mariadb-connector-c (configuring with mariadb-connector-c-cmake)
-- Build without mysqlclient (support for MYSQL dictionary source will be disabled)
-- Adding contrib module libfiu (configuring with libfiu-cmake)
-- Adding contrib module googletest (configuring with googletest-cmake)
-- Adding contrib module llvm-project (configuring with llvm-project-cmake)
-- Not using LLVM
-- Adding contrib module llvm-project (configuring with libfuzzer-cmake)
-- Adding contrib module llvm-project (configuring with gwpasan-cmake)
-- Not using gwp-asan
-- Adding contrib module libxml2 (configuring with libxml2-cmake)
-- Adding contrib module aws;aws-c-auth;aws-c-cal;aws-c-common;aws-c-compression;aws-c-event-stream;aws-c-http;aws-c-io;aws-c-mqtt;aws-c-s3;aws-c-sdkutils;aws-s2n-tls;aws-checksums;aws-crt-cpp;aws-cmake (configuring with aws-cmake)
-- Adding contrib module aklomp-base64 (configuring with aklomp-base64-cmake)
-- Adding contrib module simdjson (configuring with simdjson-cmake)
-- Adding contrib module rapidjson (configuring with rapidjson-cmake)
-- Adding contrib module fastops (configuring with fastops-cmake)
-- Not using fastops
-- Adding contrib module libuv (configuring with libuv-cmake)
-- Adding contrib module liburing (configuring with liburing-cmake)
-- Not using liburing
-- Adding contrib module AMQP-CPP (configuring with amqpcpp-cmake)
-- Adding contrib module cassandra (configuring with cassandra-cmake)
-- Adding contrib module fmtlib (configuring with fmtlib-cmake)
-- Adding contrib module krb5 (configuring with krb5-cmake)
-- Adding contrib module cyrus-sasl (configuring with cyrus-sasl-cmake)
-- Adding contrib module libgsasl (configuring with libgsasl-cmake)
-- Adding contrib module librdkafka (configuring with librdkafka-cmake)
-- librdkafka with SASL support
-- librdkafka with SSL support
-- Adding contrib module nats-io (configuring with nats-io-cmake)
-- Adding contrib module isa-l (configuring with isa-l-cmake)
-- Looking for a ASM_NASM compiler
-- Looking for a ASM_NASM compiler - /usr/local/bin/nasm
-- Adding contrib module libhdfs3 (configuring with libhdfs3-cmake)
-- Not using HDFS
-- Adding contrib module hive-metastore (configuring with hive-metastore-cmake)
-- Not using hive
-- Adding contrib module cppkafka (configuring with cppkafka-cmake)
-- Adding contrib module libpqxx (configuring with libpqxx-cmake)
-- Adding contrib module libpq (configuring with libpq-cmake)
-- Adding contrib module NuRaft (configuring with nuraft-cmake)
-- Adding contrib module fast_float (configuring with fast_float-cmake)
-- Adding contrib module datasketches-cpp (configuring with datasketches-cpp-cmake)
-- Adding contrib module incbin (configuring with incbin-cmake)
-- Adding contrib module libstemmer_c (configuring with libstemmer-c-cmake)
-- Adding contrib module wordnet-blast (configuring with wordnet-blast-cmake)
-- Adding contrib module lemmagen-c (configuring with lemmagen-c-cmake)
-- Adding contrib module cld2 (configuring with cld2-cmake)
-- Adding contrib module sqlite-amalgamation (configuring with sqlite-cmake)
-- Adding contrib module s2geometry (configuring with s2geometry-cmake)
-- Adding contrib module c-ares (configuring with c-ares-cmake)
-- Not using QPL
-- Adding contrib module morton-nd (configuring with morton-nd-cmake)
-- Adding contrib module annoy (configuring with annoy-cmake)
-- Adding contrib module FP16 (configuring with FP16-cmake)
-- Adding contrib module robin-map (configuring with robin-map-cmake)
-- Adding contrib module SimSIMD (configuring with SimSIMD-cmake)
-- Adding contrib module usearch (configuring with usearch-cmake)
-- Adding contrib module xxHash (configuring with xxHash-cmake)
-- Adding contrib module libbcrypt (configuring with libbcrypt-cmake)
-- Adding contrib module google-benchmark (configuring with google-benchmark-cmake)
-- Adding contrib module ulid-c (configuring with ulid-c-cmake)
-- Adding contrib module libssh (configuring with libssh-cmake)
-- Performing Test SUPPORTS_CXXFLAG_everything
-- Performing Test SUPPORTS_CXXFLAG_everything - Success
-- Performing Test SUPPORTS_CFLAG_everything
-- Performing Test SUPPORTS_CFLAG_everything - Success
-- Performing Test SUPPORTS_CXXFLAG_pedantic
-- Performing Test SUPPORTS_CXXFLAG_pedantic - Success
-- Performing Test SUPPORTS_CFLAG_pedantic
-- Performing Test SUPPORTS_CFLAG_pedantic - Success
-- Performing Test SUPPORTS_CXXFLAG_no_zero_length_array
-- Performing Test SUPPORTS_CXXFLAG_no_zero_length_array - Success
-- Performing Test SUPPORTS_CFLAG_no_zero_length_array
-- Performing Test SUPPORTS_CFLAG_no_zero_length_array - Success
-- Performing Test SUPPORTS_CXXFLAG_no_cxx98_compat_pedantic
-- Performing Test SUPPORTS_CXXFLAG_no_cxx98_compat_pedantic - Success
-- Performing Test SUPPORTS_CFLAG_no_cxx98_compat_pedantic
-- Performing Test SUPPORTS_CFLAG_no_cxx98_compat_pedantic - Success
-- Performing Test SUPPORTS_CXXFLAG_no_cxx98_compat
-- Performing Test SUPPORTS_CXXFLAG_no_cxx98_compat - Success
-- Performing Test SUPPORTS_CFLAG_no_cxx98_compat
-- Performing Test SUPPORTS_CFLAG_no_cxx98_compat - Success
-- Performing Test SUPPORTS_CXXFLAG_no_cxx20_compat
-- Performing Test SUPPORTS_CXXFLAG_no_cxx20_compat - Success
-- Performing Test SUPPORTS_CFLAG_no_cxx20_compat
-- Performing Test SUPPORTS_CFLAG_no_cxx20_compat - Success
-- Performing Test SUPPORTS_CXXFLAG_no_sign_conversion
-- Performing Test SUPPORTS_CXXFLAG_no_sign_conversion - Success
-- Performing Test SUPPORTS_CFLAG_no_sign_conversion
-- Performing Test SUPPORTS_CFLAG_no_sign_conversion - Success
-- Performing Test SUPPORTS_CXXFLAG_no_implicit_int_conversion
-- Performing Test SUPPORTS_CXXFLAG_no_implicit_int_conversion - Success
-- Performing Test SUPPORTS_CFLAG_no_implicit_int_conversion
-- Performing Test SUPPORTS_CFLAG_no_implicit_int_conversion - Success
-- Performing Test SUPPORTS_CXXFLAG_no_implicit_int_float_conversion
-- Performing Test SUPPORTS_CXXFLAG_no_implicit_int_float_conversion - Success
-- Performing Test SUPPORTS_CFLAG_no_implicit_int_float_conversion
-- Performing Test SUPPORTS_CFLAG_no_implicit_int_float_conversion - Success
-- Performing Test SUPPORTS_CXXFLAG_no_ctad_maybe_unsupported
-- Performing Test SUPPORTS_CXXFLAG_no_ctad_maybe_unsupported - Success
-- Performing Test SUPPORTS_CFLAG_no_ctad_maybe_unsupported
-- Performing Test SUPPORTS_CFLAG_no_ctad_maybe_unsupported - Success
-- Performing Test SUPPORTS_CXXFLAG_no_disabled_macro_expansion
-- Performing Test SUPPORTS_CXXFLAG_no_disabled_macro_expansion - Success
-- Performing Test SUPPORTS_CFLAG_no_disabled_macro_expansion
-- Performing Test SUPPORTS_CFLAG_no_disabled_macro_expansion - Success
-- Performing Test SUPPORTS_CXXFLAG_no_documentation_unknown_command
-- Performing Test SUPPORTS_CXXFLAG_no_documentation_unknown_command - Success
-- Performing Test SUPPORTS_CFLAG_no_documentation_unknown_command
-- Performing Test SUPPORTS_CFLAG_no_documentation_unknown_command - Success
-- Performing Test SUPPORTS_CXXFLAG_no_double_promotion
-- Performing Test SUPPORTS_CXXFLAG_no_double_promotion - Success
-- Performing Test SUPPORTS_CFLAG_no_double_promotion
-- Performing Test SUPPORTS_CFLAG_no_double_promotion - Success
-- Performing Test SUPPORTS_CXXFLAG_no_exit_time_destructors
-- Performing Test SUPPORTS_CXXFLAG_no_exit_time_destructors - Success
-- Performing Test SUPPORTS_CFLAG_no_exit_time_destructors
-- Performing Test SUPPORTS_CFLAG_no_exit_time_destructors - Success
-- Performing Test SUPPORTS_CXXFLAG_no_float_equal
-- Performing Test SUPPORTS_CXXFLAG_no_float_equal - Success
-- Performing Test SUPPORTS_CFLAG_no_float_equal
-- Performing Test SUPPORTS_CFLAG_no_float_equal - Success
-- Performing Test SUPPORTS_CXXFLAG_no_global_constructors
-- Performing Test SUPPORTS_CXXFLAG_no_global_constructors - Success
-- Performing Test SUPPORTS_CFLAG_no_global_constructors
-- Performing Test SUPPORTS_CFLAG_no_global_constructors - Success
-- Performing Test SUPPORTS_CXXFLAG_no_missing_prototypes
-- Performing Test SUPPORTS_CXXFLAG_no_missing_prototypes - Success
-- Performing Test SUPPORTS_CFLAG_no_missing_prototypes
-- Performing Test SUPPORTS_CFLAG_no_missing_prototypes - Success
-- Performing Test SUPPORTS_CXXFLAG_no_missing_variable_declarations
-- Performing Test SUPPORTS_CXXFLAG_no_missing_variable_declarations - Success
-- Performing Test SUPPORTS_CFLAG_no_missing_variable_declarations
-- Performing Test SUPPORTS_CFLAG_no_missing_variable_declarations - Success
-- Performing Test SUPPORTS_CXXFLAG_no_padded
-- Performing Test SUPPORTS_CXXFLAG_no_padded - Success
-- Performing Test SUPPORTS_CFLAG_no_padded
-- Performing Test SUPPORTS_CFLAG_no_padded - Success
-- Performing Test SUPPORTS_CXXFLAG_no_switch_enum
-- Performing Test SUPPORTS_CXXFLAG_no_switch_enum - Success
-- Performing Test SUPPORTS_CFLAG_no_switch_enum
-- Performing Test SUPPORTS_CFLAG_no_switch_enum - Success
-- Performing Test SUPPORTS_CXXFLAG_no_undefined_func_template
-- Performing Test SUPPORTS_CXXFLAG_no_undefined_func_template - Success
-- Performing Test SUPPORTS_CFLAG_no_undefined_func_template
-- Performing Test SUPPORTS_CFLAG_no_undefined_func_template - Success
-- Performing Test SUPPORTS_CXXFLAG_no_unused_template
-- Performing Test SUPPORTS_CXXFLAG_no_unused_template - Success
-- Performing Test SUPPORTS_CFLAG_no_unused_template
-- Performing Test SUPPORTS_CFLAG_no_unused_template - Success
-- Performing Test SUPPORTS_CXXFLAG_no_vla
-- Performing Test SUPPORTS_CXXFLAG_no_vla - Success
-- Performing Test SUPPORTS_CFLAG_no_vla
-- Performing Test SUPPORTS_CFLAG_no_vla - Success
-- Performing Test SUPPORTS_CXXFLAG_no_weak_template_vtables
-- Performing Test SUPPORTS_CXXFLAG_no_weak_template_vtables - Success
-- Performing Test SUPPORTS_CFLAG_no_weak_template_vtables
-- Performing Test SUPPORTS_CFLAG_no_weak_template_vtables - Success
-- Performing Test SUPPORTS_CXXFLAG_no_weak_vtables
-- Performing Test SUPPORTS_CXXFLAG_no_weak_vtables - Success
-- Performing Test SUPPORTS_CFLAG_no_weak_vtables
-- Performing Test SUPPORTS_CFLAG_no_weak_vtables - Success
-- Performing Test SUPPORTS_CXXFLAG_no_thread_safety_negative
-- Performing Test SUPPORTS_CXXFLAG_no_thread_safety_negative - Success
-- Performing Test SUPPORTS_CFLAG_no_thread_safety_negative
-- Performing Test SUPPORTS_CFLAG_no_thread_safety_negative - Success
-- Performing Test SUPPORTS_CXXFLAG_no_unsafe_buffer_usage
-- Performing Test SUPPORTS_CXXFLAG_no_unsafe_buffer_usage - Success
-- Performing Test SUPPORTS_CFLAG_no_unsafe_buffer_usage
-- Performing Test SUPPORTS_CFLAG_no_unsafe_buffer_usage - Success
-- compiler C   = /Library/Developer/CommandLineTools/usr/bin/clang  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -fdiagnostics-absolute-paths -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -g -O0 -g -gdwarf-4 
-- compiler CXX = /Library/Developer/CommandLineTools/usr/bin/clang++  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion -fsized-deallocation  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -stdlib=libc++ -fdiagnostics-absolute-paths -fstrict-vtable-pointers -Wall -Wextra -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -g -O0 -g -gdwarf-4  -D_LIBCPP_DEBUG=0
-- LINKER_FLAGS =  --ld-path=/usr/bin/ld -Wl,-U,_inside_main 
-- RUST_CFLAGS:  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -fdiagnostics-absolute-paths -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk
-- RUST_CXXFLAGS:  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion -fsized-deallocation  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -stdlib=libc++ -fdiagnostics-absolute-paths -fstrict-vtable-pointers -Wall -Wextra -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -isystem /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/contrib/llvm-project/libcxx/include -nostdinc++ -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk
-- RUSTFLAGS: []
-- RUST_CARGO_BUILD_STD: 
-- Copy BLAKE3 to /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/BLAKE3
    Updating crates.io index
 Downloading crates ...
  Downloaded arrayref v0.3.7
  Downloaded constant_time_eq v0.3.0
  Downloaded blake3 v1.5.0
-- Copy skim to /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/skim
-- RUST_CXXFLAGS (for skim):  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion -fsized-deallocation  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -stdlib=libc++ -fdiagnostics-absolute-paths -fstrict-vtable-pointers -Wall -Wextra -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -isystem /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/contrib/llvm-project/libcxx/include -nostdinc++ -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk -Wno-dollar-in-identifier-extension -Wno-unused-macros
-- Writing FFI Binding for skim: /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/Debug/cargo/build/x86_64-apple-darwin/cxxbridge/_ch_rust_skim_rust/src/lib.rs.cc => /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/skim/skim-ffi.cc
-- Copy prql to /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/prql
    Updating crates.io index
 Downloading crates ...
  Downloaded bitflags v2.4.1
  Downloaded psm v0.1.21
  Downloaded ariadne v0.3.0
  Downloaded is-terminal v0.4.9
  Downloaded strum_macros v0.25.3
  Downloaded semver v1.0.20
  Downloaded itertools v0.11.0
  Downloaded sqlparser v0.37.0
  Downloaded chumsky v0.9.2
  Downloaded csv-core v0.1.11
  Downloaded csv v1.3.0
  Downloaded unicode_categories v0.1.1
  Downloaded linux-raw-sys v0.4.10
  Downloaded hermit-abi v0.3.3
  Downloaded anstyle-wincon v1.0.2
  Downloaded adler v1.0.2
  Downloaded anstyle-query v1.0.0
  Downloaded itoa v1.0.9
  Downloaded nom v7.1.3
  Downloaded yansi v0.5.1
  Downloaded addr2line v0.21.0
  Downloaded rustix v0.38.19
  Downloaded object v0.32.1
  Downloaded version_check v0.9.4
  Downloaded serde_json v1.0.107
  Downloaded strum v0.25.0
  Downloaded stacker v0.1.15
  Downloaded ryu v1.0.15
  Downloaded rustc-demangle v0.1.23
  Downloaded minimal-lexical v0.2.1
  Downloaded windows-sys v0.48.0
  Downloaded heck v0.4.1
  Downloaded gimli v0.28.0
  Downloaded miniz_oxide v0.7.1
  Downloaded colorchoice v1.0.0
  Downloaded backtrace v0.3.69
  Downloaded hashbrown v0.12.3
  Downloaded errno v0.3.5
  Downloaded anyhow v1.0.75
  Downloaded anstyle-parse v0.2.2
  Downloaded prql-parser v0.9.5
  Downloaded prql-compiler v0.9.5
  Downloaded prql-ast v0.9.5
  Downloaded sqlformat v0.2.2
  Downloaded anstyle v1.0.4
  Downloaded anstream v0.3.2
  Downloaded ahash v0.7.6
  Downloaded enum-as-inner v0.6.0
-- Using Poco::Crypto
-- Not using Poco::Data::ODBC
CMake Warning at cmake/limit_jobs.cmake:24 (message):
  The auto-calculated compile jobs limit (10) underutilizes CPU cores (12).
  Set PARALLEL_COMPILE_JOBS to override.
Call Stack (most recent call first):
  src/CMakeLists.txt:15 (include)


CMake Warning at cmake/limit_jobs.cmake:35 (message):
  The auto-calculated link jobs limit (4) underutilizes CPU cores (12).  Set
  PARALLEL_LINK_JOBS to override.
Call Stack (most recent call first):
  src/CMakeLists.txt:15 (include)


-- Building sub-tree with 10 compile jobs and 4 linker jobs (system: 12 cores, 16384 MB RAM, 'OFF' means the native core count).
-- Will build ClickHouse 23.10.1.1 revision 54479 
-- StorageFileLog is only supported on Linux
-- ClickHouse modes:
-- Server mode: ON
-- Client mode: ON
-- Local mode: ON
-- Self-extracting executable: OFF
-- Benchmark mode: ON
-- Extract from config mode: ON
-- Compressor mode: ON
-- Copier mode: ON
-- Format mode: ON
-- Obfuscator mode: ON
-- ODBC bridge mode: OFF
-- Library bridge mode: ON
-- ClickHouse install: ON
-- ClickHouse git-import: ON
-- ClickHouse keeper mode: ON
-- ClickHouse keeper-converter mode: ON
-- ClickHouse keeper-client mode: ON
-- Clickhouse disks mode: ON
-- ClickHouse su: ON
-- bash_completion will be written to /usr/local/share/bash-completion/completions
-- Target check already exists
CMake Warning at cmake/limit_jobs.cmake:35 (message):
  The auto-calculated link jobs limit (4) underutilizes CPU cores (12).  Set
  PARALLEL_LINK_JOBS to override.
Call Stack (most recent call first):
  utils/CMakeLists.txt:6 (include)


-- Building sub-tree with OFF compile jobs and 4 linker jobs (system: 12 cores, 16384 MB RAM, 'OFF' means the native core count).
-- Configuring done (29.8s)
-- Generating done (2.8s)
-- Build files have been written to: /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build

This time it all seemed to be working. I ran cmake again to check what it says ;)

$ export CC=clang CXX=clang++

$ cmake -D CMAKE_BUILD_TYPE=Debug ..
-- Using compiler:
Homebrew clang version 17.0.2
Target: x86_64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
-- Using linker: /usr/bin/ld
-- Using archiver: /usr/local/opt/llvm/bin/llvm-ar
-- Using ranlib: /usr/local/opt/llvm/bin/llvm-ranlib
-- Using install-name-tool: /usr/local/opt/llvm/bin/llvm-install-name-tool
-- Using objcopy: /usr/local/opt/llvm/bin/llvm-objcopy
-- Using strip: /usr/local/opt/llvm/bin/llvm-strip
-- Using ccache: /usr/local/bin/ccache (version 4.8.3)
-- Git HEAD commit hash: 1d46ed75db43de34ebe5255d8aa0935017708f58
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
    modified:   contrib/liburing (modified content)
    modified:   contrib/sysroot (modified content)

no changes added to commit (use "git add" and/or "git commit -a")
-- CMAKE_BUILD_TYPE: Debug
-- No official build: A checksum hash will not be added to the clickhouse executable
-- Disabling compiler -pipe option (have only 6313 mb of memory)
-- Default libraries: -nodefaultlibs  -lc -lm -lpthread -ldl
-- Unit tests are enabled
-- Building for: Darwin-23.0.0 x86_64 
-- Adding contrib module boringssl (configuring with boringssl-cmake)
-- Adding contrib module miniselect (configuring with miniselect-cmake)
-- Adding contrib module pdqsort (configuring with pdqsort-cmake)
-- Adding contrib module crc32-vpmsum (configuring with crc32-vpmsum-cmake)
-- crc32-vpmsum library is only supported on ppc64le
-- Adding contrib module sparsehash-c11 (configuring with sparsehash-c11-cmake)
-- Adding contrib module abseil-cpp (configuring with abseil-cpp-cmake)
-- Adding contrib module magic_enum (configuring with magic-enum-cmake)
-- Adding contrib module boost (configuring with boost-cmake)
-- Adding contrib module cctz (configuring with cctz-cmake)
-- Packaging with tzdata version: 2023c
-- Adding contrib module consistent-hashing (configuring with consistent-hashing)
-- Adding contrib module dragonbox (configuring with dragonbox-cmake)
-- Adding contrib module vectorscan (configuring with vectorscan-cmake)
-- Adding contrib module jemalloc (configuring with jemalloc-cmake)
CMake Warning at contrib/jemalloc-cmake/CMakeLists.txt:20 (message):
  jemalloc support on non-Linux is EXPERIMENTAL


-- jemalloc malloc_conf: oversize_threshold:0,muzzy_decay_ms:5000,dirty_decay_ms:5000
-- Adding contrib module libcpuid (configuring with libcpuid-cmake)
-- Adding contrib module libdivide-cmake (configuring with libdivide-cmake)
-- Adding contrib module libmetrohash (configuring with libmetrohash)
-- Adding contrib module lz4 (configuring with lz4-cmake)
-- Adding contrib module murmurhash (configuring with murmurhash)
-- Adding contrib module replxx (configuring with replxx-cmake)
-- Adding contrib module unixodbc (configuring with unixodbc-cmake)
-- Not using ODBC
-- Adding contrib module nanodbc (configuring with nanodbc-cmake)
-- Adding contrib module capnproto (configuring with capnproto-cmake)
-- Adding contrib module yaml-cpp (configuring with yaml-cpp-cmake)
-- Adding contrib module re2 (configuring with re2-cmake)
-- Adding contrib module xz (configuring with xz-cmake)
-- Adding contrib module brotli (configuring with brotli-cmake)
-- Adding contrib module double-conversion (configuring with double-conversion-cmake)
-- Adding contrib module croaring (configuring with croaring-cmake)
-- Adding contrib module zstd (configuring with zstd-cmake)
-- Adding contrib module zlib-ng (configuring with zlib-ng-cmake)
-- Adding contrib module bzip2 (configuring with bzip2-cmake)
-- Adding contrib module minizip-ng (configuring with minizip-ng-cmake)
-- Adding contrib module snappy (configuring with snappy-cmake)
-- Adding contrib module rocksdb (configuring with rocksdb-cmake)
-- Adding contrib module thrift (configuring with thrift-cmake)
-- Adding contrib module arrow (configuring with arrow-cmake)
-- CMAKE_CXX_FLAGS:  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion -fsized-deallocation  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -stdlib=libc++ -fdiagnostics-absolute-paths -fstrict-vtable-pointers -w -std=c++11 -Wall -pedantic -Werror -Wextra -Wno-unused-parameter -stdlib=libc++
fatal: No names found, cannot describe anything.
CMake Warning at contrib/flatbuffers/CMake/Version.cmake:22 (message):
  git describe failed with exit code: 128
Call Stack (most recent call first):
  contrib/flatbuffers/CMakeLists.txt:562 (include)


-- Proceeding with version: 2.0.0.0
-- Adding contrib module avro (configuring with avro-cmake)
-- Adding contrib module google-protobuf (configuring with google-protobuf-cmake)
-- Adding contrib module openldap (configuring with openldap-cmake)
-- Adding contrib module grpc (configuring with grpc-cmake)
-- Adding contrib module msgpack-c (configuring with msgpack-c-cmake)
-- Adding contrib module libarchive (configuring with libarchive-cmake)
-- Adding contrib module corrosion (configuring with corrosion-cmake)
-- Rust Toolchain: stable-x86_64-apple-darwin
-- Rust Target: x86_64-apple-darwin
-- Checking Rust toolchain for current target
-- Switched Rust target to x86_64-apple-darwin
-- Rust Toolchain: stable-x86_64-apple-darwin
-- Using Corrosion as a subdirectory
-- Adding contrib module wyhash (configuring with wyhash-cmake)
-- Adding contrib module cityhash102 (configuring with cityhash102)
-- Adding contrib module libfarmhash (configuring with libfarmhash)
-- Adding contrib module icu (configuring with icu-cmake)
-- Not using icu
-- Adding contrib module h3 (configuring with h3-cmake)
-- Adding contrib module mariadb-connector-c (configuring with mariadb-connector-c-cmake)
-- Build without mysqlclient (support for MYSQL dictionary source will be disabled)
-- Adding contrib module libfiu (configuring with libfiu-cmake)
-- Adding contrib module googletest (configuring with googletest-cmake)
-- Adding contrib module llvm-project (configuring with llvm-project-cmake)
-- Not using LLVM
-- Adding contrib module llvm-project (configuring with libfuzzer-cmake)
-- Adding contrib module llvm-project (configuring with gwpasan-cmake)
-- Not using gwp-asan
-- Adding contrib module libxml2 (configuring with libxml2-cmake)
-- Adding contrib module aws;aws-c-auth;aws-c-cal;aws-c-common;aws-c-compression;aws-c-event-stream;aws-c-http;aws-c-io;aws-c-mqtt;aws-c-s3;aws-c-sdkutils;aws-s2n-tls;aws-checksums;aws-crt-cpp;aws-cmake (configuring with aws-cmake)
-- Adding contrib module aklomp-base64 (configuring with aklomp-base64-cmake)
-- Adding contrib module simdjson (configuring with simdjson-cmake)
-- Adding contrib module rapidjson (configuring with rapidjson-cmake)
-- Adding contrib module fastops (configuring with fastops-cmake)
-- Not using fastops
-- Adding contrib module libuv (configuring with libuv-cmake)
-- Adding contrib module liburing (configuring with liburing-cmake)
-- Not using liburing
-- Adding contrib module AMQP-CPP (configuring with amqpcpp-cmake)
-- Adding contrib module cassandra (configuring with cassandra-cmake)
-- Adding contrib module fmtlib (configuring with fmtlib-cmake)
-- Adding contrib module krb5 (configuring with krb5-cmake)
-- Adding contrib module cyrus-sasl (configuring with cyrus-sasl-cmake)
-- Adding contrib module libgsasl (configuring with libgsasl-cmake)
-- Adding contrib module librdkafka (configuring with librdkafka-cmake)
-- librdkafka with SASL support
-- librdkafka with SSL support
-- Adding contrib module nats-io (configuring with nats-io-cmake)
-- Adding contrib module isa-l (configuring with isa-l-cmake)
-- Adding contrib module libhdfs3 (configuring with libhdfs3-cmake)
-- Not using HDFS
-- Adding contrib module hive-metastore (configuring with hive-metastore-cmake)
-- Not using hive
-- Adding contrib module cppkafka (configuring with cppkafka-cmake)
-- Adding contrib module libpqxx (configuring with libpqxx-cmake)
-- Adding contrib module libpq (configuring with libpq-cmake)
-- Adding contrib module NuRaft (configuring with nuraft-cmake)
-- Adding contrib module fast_float (configuring with fast_float-cmake)
-- Adding contrib module datasketches-cpp (configuring with datasketches-cpp-cmake)
-- Adding contrib module incbin (configuring with incbin-cmake)
-- Adding contrib module libstemmer_c (configuring with libstemmer-c-cmake)
-- Adding contrib module wordnet-blast (configuring with wordnet-blast-cmake)
-- Adding contrib module lemmagen-c (configuring with lemmagen-c-cmake)
-- Adding contrib module cld2 (configuring with cld2-cmake)
-- Adding contrib module sqlite-amalgamation (configuring with sqlite-cmake)
-- Adding contrib module s2geometry (configuring with s2geometry-cmake)
-- Adding contrib module c-ares (configuring with c-ares-cmake)
-- Not using QPL
-- Adding contrib module morton-nd (configuring with morton-nd-cmake)
-- Adding contrib module annoy (configuring with annoy-cmake)
-- Adding contrib module FP16 (configuring with FP16-cmake)
-- Adding contrib module robin-map (configuring with robin-map-cmake)
-- Adding contrib module SimSIMD (configuring with SimSIMD-cmake)
-- Adding contrib module usearch (configuring with usearch-cmake)
-- Adding contrib module xxHash (configuring with xxHash-cmake)
-- Adding contrib module libbcrypt (configuring with libbcrypt-cmake)
-- Adding contrib module google-benchmark (configuring with google-benchmark-cmake)
-- Adding contrib module ulid-c (configuring with ulid-c-cmake)
-- Adding contrib module libssh (configuring with libssh-cmake)
-- compiler C   = /Library/Developer/CommandLineTools/usr/bin/clang  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -fdiagnostics-absolute-paths -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -g -O0 -g -gdwarf-4 
-- compiler CXX = /Library/Developer/CommandLineTools/usr/bin/clang++  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion -fsized-deallocation  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -stdlib=libc++ -fdiagnostics-absolute-paths -fstrict-vtable-pointers -Wall -Wextra -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -g -O0 -g -gdwarf-4  -D_LIBCPP_DEBUG=0
-- LINKER_FLAGS =  --ld-path=/usr/bin/ld -Wl,-U,_inside_main 
-- RUST_CFLAGS:  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -fdiagnostics-absolute-paths -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk
-- RUST_CXXFLAGS:  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion -fsized-deallocation  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -stdlib=libc++ -fdiagnostics-absolute-paths -fstrict-vtable-pointers -Wall -Wextra -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -isystem /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/contrib/llvm-project/libcxx/include -nostdinc++ -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk
-- RUSTFLAGS: []
-- RUST_CARGO_BUILD_STD: 
-- Copy BLAKE3 to /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/BLAKE3
-- Copy skim to /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/skim
-- RUST_CXXFLAGS (for skim):  -fdiagnostics-color=always -Xclang -fuse-ctor-homing -Wno-enum-constexpr-conversion -fsized-deallocation  -gdwarf-aranges -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32 -mbranches-within-32B-boundaries  -stdlib=libc++ -fdiagnostics-absolute-paths -fstrict-vtable-pointers -Wall -Wextra -Weverything -Wpedantic -Wno-zero-length-array -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c++20-compat -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-ctad-maybe-unsupported -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-padded -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-thread-safety-negative -Wno-enum-constexpr-conversion -Wno-unsafe-buffer-usage -isystem /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/contrib/llvm-project/libcxx/include -nostdinc++ -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk -Wno-dollar-in-identifier-extension -Wno-unused-macros
-- Writing FFI Binding for skim: /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/Debug/cargo/build/x86_64-apple-darwin/cxxbridge/_ch_rust_skim_rust/src/lib.rs.cc => /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/skim/skim-ffi.cc
-- Copy prql to /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/prql
-- Using Poco::Crypto
-- Not using Poco::Data::ODBC
CMake Warning at cmake/limit_jobs.cmake:24 (message):
  The auto-calculated compile jobs limit (10) underutilizes CPU cores (12).
  Set PARALLEL_COMPILE_JOBS to override.
Call Stack (most recent call first):
  src/CMakeLists.txt:15 (include)


CMake Warning at cmake/limit_jobs.cmake:35 (message):
  The auto-calculated link jobs limit (4) underutilizes CPU cores (12).  Set
  PARALLEL_LINK_JOBS to override.
Call Stack (most recent call first):
  src/CMakeLists.txt:15 (include)


-- Building sub-tree with 10 compile jobs and 4 linker jobs (system: 12 cores, 16384 MB RAM, 'OFF' means the native core count).
-- Will build ClickHouse 23.10.1.1 revision 54479 
-- StorageFileLog is only supported on Linux
-- ClickHouse modes:
-- Server mode: ON
-- Client mode: ON
-- Local mode: ON
-- Self-extracting executable: OFF
-- Benchmark mode: ON
-- Extract from config mode: ON
-- Compressor mode: ON
-- Copier mode: ON
-- Format mode: ON
-- Obfuscator mode: ON
-- ODBC bridge mode: OFF
-- Library bridge mode: ON
-- ClickHouse install: ON
-- ClickHouse git-import: ON
-- ClickHouse keeper mode: ON
-- ClickHouse keeper-converter mode: ON
-- ClickHouse keeper-client mode: ON
-- Clickhouse disks mode: ON
-- ClickHouse su: ON
-- bash_completion will be written to /usr/local/share/bash-completion/completions
-- Target check already exists
CMake Warning at cmake/limit_jobs.cmake:35 (message):
  The auto-calculated link jobs limit (4) underutilizes CPU cores (12).  Set
  PARALLEL_LINK_JOBS to override.
Call Stack (most recent call first):
  utils/CMakeLists.txt:6 (include)


-- Building sub-tree with OFF compile jobs and 4 linker jobs (system: 12 cores, 16384 MB RAM, 'OFF' means the native core count).
-- Configuring done (7.8s)
-- Generating done (2.5s)
-- Build files have been written to: /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build

Everything worked again ;) :D It does talk about how we underutilized the CPU cores. Maybe I'll keep that in mind next time. Next, the ninja build was left out. I could have used more parallel jobs for the ninja build but I just used 2, as recommended by ClickHouse developer guide documentation for an 8GB RAM computer, but my laptop is a 16GB RAM computer. But it's okay

Finally, I ran the ninja build command -

$ ninja -j 2 clickhouse-server clickhouse-client
[0/2] Re-checking globbed directories...
[5/8299] Building CXX object contrib/libunwind-cmake/CMakeFiles/unwind.dir/__/libunwind/src/libunwind.cpp.o
In file included from /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/contrib/libunwind/src/libunwind.cpp:31:
In file included from /Users/karuppiah/projects/github.com/clickhouse/ClickHouse/contrib/libunwind/src/UnwindCursor.hpp:83:
/Users/karuppiah/projects/github.com/clickhouse/ClickHouse/contrib/libunwind/src/DwarfInstructions.hpp:104:23: warning: 'syscall' is deprecated: first deprecated in macOS 10.12 - syscall(2) is unsupported; please switch to a supported interface. For SYS_kdebug_trace use kdebug_signpost(). [-Wdeprecated-declarations]
  104 |   return ptr && (0 == syscall(SYS_mincore, (void*)(ptr / page_size * page_size), 1, &mincore_res) || errno == ENOSYS);
      |                       ^
/Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/include/unistd.h:748:6: note: 'syscall' has been explicitly marked deprecated here
  748 | int      syscall(int, ...);
      |          ^
1 warning generated.
[15/8299] Building CXX object contrib/libcxxabi-cmake/CMa...__/llvm-project/libcxxabi/src/cxa_exception_storage.cpp.o
[17/8299] Building CXX object contrib/libcxxabi-cmake/CMa...xabi.dir/__/llvm-project/libcxxabi/src/cxa_handlers.cpp.o
[1611/8299] Building CXX object contrib/avro-cmake/CMakeFiles/_avrocpp.dir/__/avro/lang/c++/impl/ValidSchema.cc.o
[4958/8299] cd /Users/karuppiah/projects/github.com/click...ts/github.com/clickhouse/ClickHouse/build/rust/skim/Debug
   Compiling autocfg v1.1.0
   Compiling proc-macro2 v1.0.69
   Compiling unicode-ident v1.0.12
   Compiling cfg-if v1.0.0
   Compiling libc v0.2.149
   Compiling crossbeam-utils v0.8.16
   Compiling syn v1.0.109
   Compiling fnv v1.0.7
   Compiling ident_case v1.0.1
   Compiling strsim v0.10.0
   Compiling scopeguard v1.2.0
   Compiling scratch v1.0.7
   Compiling bitflags v1.3.2
   Compiling crossbeam-queue v0.3.8
   Compiling unicode-width v0.1.11
   Compiling cxxbridge-flags v1.0.109
   Compiling core-foundation-sys v0.8.4
   Compiling termcolor v1.3.0
   Compiling once_cell v1.18.0
   Compiling rayon-core v1.12.0
   Compiling memchr v2.6.4
   Compiling codespan-reporting v0.11.1
   Compiling memoffset v0.9.0
   Compiling crossbeam-epoch v0.9.15
   Compiling num-traits v0.2.17
   Compiling memoffset v0.6.5
   Compiling crossbeam-channel v0.5.8
   Compiling aho-corasick v1.1.2
   Compiling iana-time-zone v0.1.58
   Compiling regex-syntax v0.8.2
   Compiling quote v1.0.33
   Compiling powerfmt v0.2.0
   Compiling cc v1.0.83
   Compiling syn v2.0.38
   Compiling deranged v0.3.9
   Compiling thread_local v1.1.7
   Compiling arrayvec v0.7.4
   Compiling vte_generate_state_changes v0.1.1
   Compiling crossbeam-deque v0.8.3
   Compiling pin-utils v0.1.0
   Compiling utf8parse v0.2.1
   Compiling either v1.9.0
   Compiling log v0.4.20
   Compiling lazy_static v1.4.0
   Compiling dirs-sys-next v0.1.2
   Compiling nix v0.24.3
   Compiling dirs-next v2.0.0
   Compiling term v0.7.0
   Compiling time-core v0.1.2
   Compiling vte v0.11.1
   Compiling nix v0.25.1
   Compiling time v0.3.30
   Compiling chrono v0.4.31
   Compiling rayon v1.8.0
   Compiling link-cplusplus v1.0.9
   Compiling cxx v1.0.109
   Compiling regex-automata v0.4.3
   Compiling tuikit v0.5.0
   Compiling crossbeam v0.8.2
   Compiling fuzzy-matcher v0.3.7
   Compiling defer-drop v1.3.0
   Compiling cxx-build v1.0.109
   Compiling timer v0.2.0
   Compiling beef v0.5.2
   Compiling darling_core v0.14.4
   Compiling cxxbridge-macro v1.0.109
   Compiling regex v1.10.2
   Compiling darling_macro v0.14.4
   Compiling _ch_rust_skim_rust v0.1.0 (/Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/skim)
   Compiling darling v0.14.4
   Compiling derive_builder_core v0.11.2
   Compiling derive_builder_macro v0.11.2
   Compiling derive_builder v0.11.2
   Compiling skim v0.10.4
    Finished dev [unoptimized + debuginfo] target(s) in 25.85s
[4971/8299] cd /Users/karuppiah/projects/github.com/click.../github.com/clickhouse/ClickHouse/build/rust/BLAKE3/Debug
   Compiling libc v0.2.149
   Compiling constant_time_eq v0.3.0
   Compiling arrayref v0.3.7
   Compiling cc v1.0.83
   Compiling blake3 v1.5.0
   Compiling _ch_rust_blake3 v0.1.0 (/Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/BLAKE3)
    Finished dev [unoptimized + debuginfo] target(s) in 5.69s
[4979/8299] cd /Users/karuppiah/projects/github.com/click...ts/github.com/clickhouse/ClickHouse/build/rust/prql/Debug
   Compiling proc-macro2 v1.0.69
   Compiling serde v1.0.189
   Compiling rustversion v1.0.14
   Compiling version_check v0.9.4
   Compiling heck v0.4.1
   Compiling rustix v0.38.19
   Compiling semver v1.0.20
   Compiling gimli v0.28.0
   Compiling either v1.9.0
   Compiling bitflags v2.4.1
   Compiling getrandom v0.2.10
   Compiling psm v0.1.21
   Compiling stacker v0.1.15
   Compiling backtrace v0.3.69
   Compiling errno v0.3.5
   Compiling adler v1.0.2
   Compiling miniz_oxide v0.7.1
   Compiling itertools v0.11.0
   Compiling ahash v0.7.6
   Compiling object v0.32.1
   Compiling itoa v1.0.9
   Compiling minimal-lexical v0.2.1
   Compiling anyhow v1.0.75
   Compiling serde_json v1.0.107
   Compiling rustc-demangle v0.1.23
   Compiling ryu v1.0.15
   Compiling anstyle-parse v0.2.2
   Compiling quote v1.0.33
   Compiling nom v7.1.3
   Compiling syn v2.0.38
   Compiling csv-core v0.1.11
   Compiling hashbrown v0.12.3
   Compiling colorchoice v1.0.0
   Compiling anstyle v1.0.4
   Compiling yansi v0.5.1
   Compiling anstyle-query v1.0.0
   Compiling unicode_categories v0.1.1
   Compiling ariadne v0.3.0
   Compiling is-terminal v0.4.9
   Compiling anstream v0.3.2
   Compiling chumsky v0.9.2
   Compiling addr2line v0.21.0
   Compiling sqlformat v0.2.2
   Compiling serde_derive v1.0.189
   Compiling strum_macros v0.25.3
   Compiling enum-as-inner v0.6.0
   Compiling strum v0.25.0
   Compiling sqlparser v0.37.0
   Compiling csv v1.3.0
   Compiling prql-ast v0.9.5
   Compiling prql-parser v0.9.5
   Compiling prql-compiler v0.9.5
   Compiling _ch_rust_prql v0.1.0 (/Users/karuppiah/projects/github.com/clickhouse/ClickHouse/build/rust/prql)
    Finished dev [unoptimized + debuginfo] target(s) in 39.83s
[6425/8299] Building CXX object src/CMakeFiles/dbms.dir/Planner/CollectSets.cpp.o

[6871/8299] Building CXX object src/CMakeFiles/dbms.dir/Storages/MergeTree/MergeTreeSource.cpp.o

[7370/8299] Building CXX object src/Functions/CMakeFiles/...ouse_functions_obj.dir/FunctionsTransactionCounters.cpp.o

[7415/8299] Building CXX object src/Functions/CMakeFiles/clickhouse_functions_obj.dir/bitRotateLeft.cpp.o
[8124/8299] Generating StorageSystemLicenses.generated.cpp
cat: /Users/karuppiah/projects/github.com/clickhouse/ClickHouse//contrib/natvis/LICENSE: No such file or directory
[8297/8299] Linking CXX executable programs/clickhouse
clang++: warning: argument unused during compilation: '-stdlib=libc++' [-Wunused-command-line-argument]
ld: warning: ignoring duplicate libraries: '-lpthread', 'programs/client/libclickhouse-client-libd.a', 'programs/server/libclickhouse-server-libd.a', 'src/Common/StringUtils/libstring_utilsd.a', 'src/libclickhouse_common_iod.a'
ld: warning: object file (rust/BLAKE3/Debug/lib_ch_rust_blake3.a[17](blake3_sse2_x86-64_unix.o)) was built for newer 'macOS' version (14.0) than being linked (10.15)
ld: warning: object file (rust/BLAKE3/Debug/lib_ch_rust_blake3.a[18](blake3_sse41_x86-64_unix.o)) was built for newer 'macOS' version (14.0) than being linked (10.15)
ld: warning: object file (rust/BLAKE3/Debug/lib_ch_rust_blake3.a[19](blake3_avx2_x86-64_unix.o)) was built for newer 'macOS' version (14.0) than being linked (10.15)
ld: warning: object file (rust/prql/Debug/lib_ch_rust_prql.a[67](x86_64.o)) was built for newer 'macOS' version (14.0) than being linked (10.15)
ld: warning: object file (rust/skim/Debug/lib_ch_rust_skim_rust.a[33](046fc75a2b957844-lib.rs.o)) was built for newer 'macOS' version (14.0) than being linked (10.15)
ld: warning: object file (rust/skim/Debug/lib_ch_rust_skim_rust.a[40](f744b4f88c705ca8-cxx.o)) was built for newer 'macOS' version (14.0) than being linked (10.15)
[8299/8299] cd /Users/karuppiah/projects/github.com/click.../bin/cmake -E create_symlink clickhouse clickhouse-clien

It had built around 8300 files!!! :O It took lots of time. I didn't measure how much though ๐Ÿ˜… And this 8300 (approximately) count was shown from the first till the end, so the progress was clear

I ran ninja build again to see if all the build cache works (I'm guessing it's done using ccache, or sccache which we installed :D)

$ ninja -j 2 clickhouse-server clickhouse-client
[0/2] Re-checking globbed directories...
[0/7] cd /Users/karuppiah/projects/github.com/clickhouse/...ts/github.com/clickhouse/ClickHouse/build/rust/skim/Debu
    Finished dev [unoptimized + debuginfo] target(s) in 0.33s
[2/7] cd /Users/karuppiah/projects/github.com/clickhouse/.../github.com/clickhouse/ClickHouse/build/rust/BLAKE3/Debu
    Finished dev [unoptimized + debuginfo] target(s) in 0.06s
[3/7] cd /Users/karuppiah/projects/github.com/clickhouse/...ts/github.com/clickhouse/ClickHouse/build/rust/prql/Debu
    Finished dev [unoptimized + debuginfo] target(s) in 0.18s
[6/6] cd /Users/karuppiah/projects/github.com/clickhouse/.../bin/cmake -E create_symlink clickhouse clickhouse-clien

That was fast actually, as it just reused the existing builds :)

So, I had ClickHouse DB built in my local. Then I started checking out the final output artifacts from the build - the ClickHouse DB binary/binaries

$ ls -al ./programs/clickhouse-server
lrwxr-xr-x  1 karuppiah  staff  10 Oct 18 22:18 ./programs/clickhouse-server -> clickhouse

$ ls -al ./programs/clickhouse-client 
lrwxr-xr-x  1 karuppiah  staff  10 Oct 18 22:18 ./programs/clickhouse-client -> clickhouse

$ ls -al ./programs/clickhouse       
-rwxr-xr-x  1 karuppiah  staff  1455078384 Oct 18 21:40 ./programs/clickhouse
$ ./programs/clickhouse   
Use one of the following commands:
clickhouse local [args] 
clickhouse client [args] 
clickhouse benchmark [args] 
clickhouse server [args] 
clickhouse extract-from-config [args] 
clickhouse compressor [args] 
clickhouse format [args] 
clickhouse copier [args] 
clickhouse obfuscator [args] 
clickhouse git-import [args] 
clickhouse keeper [args] 
clickhouse keeper-converter [args] 
clickhouse keeper-client [args] 
clickhouse install [args] 
clickhouse start [args] 
clickhouse stop [args] 
clickhouse status [args] 
clickhouse restart [args] 
clickhouse static-files-disk-uploader [args] 
clickhouse su [args] 
clickhouse hash-binary [args] 
clickhouse disks [args]
$ ./programs/clickhouse server --help
usage: 
clickhouse [OPTION] [-- [ARG]...]
positional arguments can be used to rewrite config.xml properties, for 
example, --http_port=8010

-h, --help                        show help and exit
-V, --version                     show version and exit
-C<file>, --config-file=<file>    load configuration from a given file
-L<file>, --log-file=<file>       use given log file
-E<file>, --errorlog-file=<file>  use given log file for errors only
-P<file>, --pid-file=<file>       use given pidfile
--daemon                          Run application as a daemon.
--umask=mask                      Set the daemon's umask (octal, e.g. 027).
--pidfile=path                    Write the process ID of the application to 
                                  given file.

$ ./programs/clickhouse server --version
ClickHouse server version 23.10.1.1.

Then I moved out of the build directory to the directory containing the default config.xml config file

$ cd ../../ClickHouse/programs/server

$ less config.xml

Then I ran the ClickHouse DB server

$ ../../build/programs/clickhouse server

The server logs looked like this -

https://gist.github.com/karuppiah7890/88e386adbc5d4f346ddaa324ca20f2af#file-clickhouse-server-log-md

Don't mind the many error logs because of my wrong SQL commands ๐Ÿ˜…

Parallely, I ran the ClickHouse DB client like this -

$ cd ClickHouse/build/

$ ./programs/clickhouse client

The client logs looked like this -

https://gist.github.com/karuppiah7890/88e386adbc5d4f346ddaa324ca20f2af#file-clickhouse-client-log-md

This was when I was trying different commands (wrong syntax, lol) on the SQL client on my own and then started getting valid SQL commands from ClickHouse DB Quick Start Guide - https://clickhouse.com/docs/en/getting-started/quick-start

So, that's how I built ClickHouse DB on my local in macOS and tried out the server and the client too

ย