From aef5cae78ed46b1a06cf3ec01bc93db55619e708 Mon Sep 17 00:00:00 2001 From: Yann Dirson Date: Mon, 7 Oct 2024 11:27:55 +0200 Subject: [PATCH] README: clarify runtime and buildtime requirements As discussed in !86. Signed-off-by: Yann Dirson --- README.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 28387f3..b426ad9 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,21 @@ Some features to consider (from `xe-guest-utilities`): ## Rust prototype +### Runtime requirements + +The agent will fail to start if it cannot write the collected info to +Xenstore, so will only run in a Xen guest. + +When built without `-F static`, the agent depends on the availability +of `libxenstore3.so` or `libxenstore4.so` (probed and loaded at +runtime). This library can be found in the `libxenstore3` or +`libxenstore4` package on Debian-based Linux distros, and in +`xen-tools` in FreeBSD ports. + +When built with Netlink support on FreeBSD, the resulting binary will +only work when the `netlink` module is loaded (check with `kldstat`, +load with `kldload netlink`). + ### Build requirements You need a Rust 1.77 toolchain or later. @@ -55,8 +70,9 @@ have to install manually on your build machine: - pkg-config (on FreeBSD, provided by `pkgconf`) - packages needed to build a crate linking against a native lib (`llvm-dev` and `clang` on Debian-based Linux distros) -- development files for libxenstore (package `libxen-dev` on - Debian-based Linux distros, `xen-tools` on FreeBSD) +- building as a static binary requires development files for + libxenstore (package `libxen-dev` on Debian-based Linux distros, + `xen-tools` on FreeBSD) ### How to build -- 2.39.5