XRT requires C++14 compiler and a few development libraries bundled
with modern Linux distribution. Please install the necessary tools and
dependencies using the provided xrtdeps.sh
.
sudo <XRT>/src/runtime_src/tools/scripts/xrtdeps.sh
The xrtdeps.sh
script installs the standard distribution packages
for the tools and libraries XRT depends on. If any system libraries
XRT depends on (for example Boost libraries) are updated to non
standard versions, then XRT must be rebuilt.
On RHEL7.x/CentOS7.x use devtoolset to switch to C++14 devlopment environment. This step is not applicable to Ubuntu, which already has C++14 capable GCC.
scl enable devtoolset-9 bash
XRT includes source code for ERT firmware.
It needs to be compiled with the MicroBlaze GCC compiler, which is available in Xilinx Vitis™ Software Platform.
To generate a complete XRT package, please install Vitis™ Software Platform and setup XILINX_VITIS environment variable.
If XILINX_VITIS is not available in the build system, the building and packaging steps for ERT will be skipped.
On the deployment system, XRT will try to find the ERT firmware in /lib/firmware/xilinx
directory.
If it's not available, errors will be reported.
cd build ./build.sh
build.sh
script builds for both Debug and Release profiles.
On RHEL/CentOS, if build.sh
was accidentally run prior to enabling
the devtoolset, then it is necessary to clean stale files makefiles by
running build.sh clean
prior to the next build.
Please check ERT firmware is built properly at build/Release/opt/xilinx/xrt/share/fw/sched*.bin
.
The package is automatically built for the Release
version but not for the Debug
version:
cd build/Release make package cd ../Debug make package
XRT Documentation can be built automatically using Sphinx
doc builder
together with Linux kernel based kernel-doc
utility.
To compile and install the documentation into the doc
directory at
the top of the repository:
cd build ./build.sh docs # To browse the generated local documentation with a web browser: xdg-open Release/runtime_src/doc/html/index.html