macOS#

macOS (14)#

Install the required toolchain and libraries, with sufficient system privileges (e.g. as root or with sudo), by executing the commands below. You can run this from the root of the xNVMe by invoking:

sudo ./xnvme/toolbox/pkgs/macos-14.sh

Or, run the commands contained within the script manually:

# This is done to avoid appleframework deprecation warnings
export MACOSX_DEPLOYMENT_TARGET=11.0
export HOMEBREW_NO_AUTO_UPDATE=1

# Install packages via brew, assuming that brew is: installed, updated, and upgraded
clang-format --version && echo "Installed" || brew install clang-format --overwrite || echo "Failed installing"
git --version && echo "Installed" || brew install git --overwrite || echo "Failed installing"
isa-l --version && echo "Installed" || brew install isa-l --overwrite || echo "Failed installing"
if make --version | grep i386-apple; then
  brew install make
fi

meson --version && echo "Installed" || brew install meson --overwrite || echo "Failed installing"
pipx --version && echo "Installed" || brew install pipx --overwrite || echo "Failed installing"
pkg-config --version && echo "Installed" || brew install pkg-config --overwrite || echo "Failed installing"
python3 --version && echo "Installed" || brew install python3 --overwrite || echo "Failed installing"

Note

A Docker-image is provided via ghcr.io, specifically ghcr.io/xnvme/xnvme-deps-macos-14:next. This Docker-image contains all the software described above.

Then go ahead and configure, build and install using meson:

# configure xNVMe and build meson subprojects(SPDK)
meson setup builddir

# build xNVMe
meson compile -C builddir

# install xNVMe
meson install -C builddir

# uninstall xNVMe
# cd builddir && meson --internal uninstall

Note

Interfaces; libaio, liburing, libvfn, and SPDK are not supported on macOS.

macOS (13)#

Install the required toolchain and libraries, with sufficient system privileges (e.g. as root or with sudo), by executing the commands below. You can run this from the root of the xNVMe by invoking:

sudo ./xnvme/toolbox/pkgs/macos-13.sh

Or, run the commands contained within the script manually:

# This is done to avoid appleframework deprecation warnings
export MACOSX_DEPLOYMENT_TARGET=11.0
export HOMEBREW_NO_AUTO_UPDATE=1

# Install packages via brew, assuming that brew is: installed, updated, and upgraded
clang-format --version && echo "Installed" || brew install clang-format --overwrite || echo "Failed installing"
git --version && echo "Installed" || brew install git --overwrite || echo "Failed installing"
isa-l --version && echo "Installed" || brew install isa-l --overwrite || echo "Failed installing"
if make --version | grep i386-apple; then
  brew install make
fi

meson --version && echo "Installed" || brew install meson --overwrite || echo "Failed installing"
pipx --version && echo "Installed" || brew install pipx --overwrite || echo "Failed installing"
pkg-config --version && echo "Installed" || brew install pkg-config --overwrite || echo "Failed installing"
python3 --version && echo "Installed" || brew install python3 --overwrite || echo "Failed installing"

Note

A Docker-image is provided via ghcr.io, specifically ghcr.io/xnvme/xnvme-deps-macos-13:next. This Docker-image contains all the software described above.

Then go ahead and configure, build and install using meson:

# configure xNVMe and build meson subprojects(SPDK)
meson setup builddir

# build xNVMe
meson compile -C builddir

# install xNVMe
meson install -C builddir

# uninstall xNVMe
# cd builddir && meson --internal uninstall

Note

Interfaces; libaio, liburing, libvfn, and SPDK are not supported on macOS.

macOS (12)#

Install the required toolchain and libraries, with sufficient system privileges (e.g. as root or with sudo), by executing the commands below. You can run this from the root of the xNVMe by invoking:

sudo ./xnvme/toolbox/pkgs/macos-12.sh

Or, run the commands contained within the script manually:

# This is done to avoid appleframework deprecation warnings
export MACOSX_DEPLOYMENT_TARGET=11.0
export HOMEBREW_NO_AUTO_UPDATE=1

# Install packages via brew, assuming that brew is: installed, updated, and upgraded
clang-format --version && echo "Installed" || brew install clang-format --overwrite || echo "Failed installing"
git --version && echo "Installed" || brew install git --overwrite || echo "Failed installing"
isa-l --version && echo "Installed" || brew install isa-l --overwrite || echo "Failed installing"
if make --version | grep i386-apple; then
  brew install make
fi

meson --version && echo "Installed" || brew install meson --overwrite || echo "Failed installing"
pipx --version && echo "Installed" || brew install pipx --overwrite || echo "Failed installing"
pkg-config --version && echo "Installed" || brew install pkg-config --overwrite || echo "Failed installing"
python3 --version && echo "Installed" || brew install python3 --overwrite || echo "Failed installing"

Note

A Docker-image is provided via ghcr.io, specifically ghcr.io/xnvme/xnvme-deps-macos-12:next. This Docker-image contains all the software described above.

Then go ahead and configure, build and install using meson:

# configure xNVMe and build meson subprojects(SPDK)
meson setup builddir

# build xNVMe
meson compile -C builddir

# install xNVMe
meson install -C builddir

# uninstall xNVMe
# cd builddir && meson --internal uninstall

Note

Interfaces; libaio, liburing, libvfn, and SPDK are not supported on macOS.