Expand description
What a host needs before floDl will build, and the command that supplies it.
Each requirement is also checked at its point of use (util/http.rs
for curl, util/archive.rs for unzip, flodl-sys/build.rs for the
vendor headers). Those checks report one missing item at a time, at
the moment it is needed. This module exists so fdl probe and
fdl setup can report the whole set up front instead; the per-site
checks remain as the backstop when neither was run.
The set is not absolute. A Docker build needs no C++ compiler and no vendor headers, since both live in the image, so callers request the set matching the build path in use.
Structs§
- Toolkit
Gap - A vendor toolkit gap on THIS box: the headers a
--features <vendor>compile will not find, and the line that installs them.
Constants§
- CUDA_
HEADERS - CUDA equivalent. The version placeholders are deliberate: the exact package name carries the toolkit version and we do not know which one the user wants.
- ROCM_
HEADERS - Vendor toolkit headers, as (header relative to an include dir, package that owns it).
Functions§
- header_
reachable - Whether the C++ compiler can actually resolve
#include <header>. - install_
hint - The install line for a package list, contextual to the platform.
- missing_
headers - Vendor headers that are absent, as (header, package) pairs.
- missing_
host_ tools - Host tools that are absent, as Debian package names.
- packages_
for - De-duplicated package list for a set of missing headers, in table order.
- rpm_
name - Debian package name in the RHEL-family spelling.
- toolkit_
gap - Resolve the toolkit gap for a vendor,
Nonewhen the headers are all present — or when the vendor has no known toolkit layout, since guessing one produces a confidently wrong apt command.