Building xNVMe#
xNVMe builds and runs on Linux, FreeBSD and Windows. First, retrieve the xNVMe repository from GitHUB:
# Clone the xNVMe repos into the folder 'xnvme'
git clone https://github.com/xnvme/xnvme.git xnvme
Note
The xNVMe build-system uses meson/ninja
and its
subproject-feature with wraps, dependencies such as fio, libvfn, and SPDK
are fetched by the build-system (meson), not as previously done via
git-submodules.
Before you invoke the compilation, then ensure that you have the compiler, tools, and libraries needed. The Toolchain section describes what to install, and how, on rich a selection of Linux distributions, FreeBSD and Windows. For example on Debian do:
sudo ./xnvme/toolbox/pkgs/debian-bullseye.sh
With the source available, and toolchain up and running, then go ahead:
cd xnvme
# configure xNVMe and build dependencies (fio, libvfn, and SPDK/NVMe)
meson setup builddir
cd builddir
# build xNVMe
meson compile
# install xNVMe
meson install
# uninstall xNVMe
# meson --internal uninstall
Note
Details on the build-errors can be seen by inspecting
builddir/meson-logs/meson-log.txt
.
Note
In case you ran the meson-commands before installing, then you
probably need to remove your builddir
before re-running build commands.
In case you want to customize the build, e.g. install into a different location
etc. then this is all handled by meson built-in options, in addition to those, then you
can inspect meson_options.txt
which contains build-options specific to
xNVMe.
Otherwise, with a successfully built and installed xNVMe, then jump to
System Config and Building an xNVMe Program.