Xilinx / Xilinx/XRT

Having difficulting installing local-built XRT with Ubuntu 22.04 kernel version 6.8.0-40-generic

Open
#8,368 2 comments 0 reactions 1 assignee View on GitHub

@SravanKumarAllu-xilinx is already working on this.

Since Aug 28, 2024.

Dominant language
C++
Stars
686
Forks
549
Avg merge
2d 4h
Merged PRs (30d)
70

Description

I followed the build instructions for the 2023.2 branch of XRT and it compiled successfully. I then tried to install the Release version of XRT : sudo apt install ./xrt_202320.2.16.0_22.04-amd64-xrt.deb but ran into the following error:

tjt7a@puma:~/src/XRT/build/Release$ sudo apt install ./xrt_202320.2.16.0_22.04-amd64-xrt.deb
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'xrt' instead of './xrt_202320.2.16.0_22.04-amd64-xrt.deb'
The following packages will be DOWNGRADED:
xrt
0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 8 not upgraded.
Need to get 0 B/18.3 MB of archives.
After this operation, 17.4 kB disk space will be freed.
Do you want to continue? [Y/n] Y
Get:1 /home/tjt7a/src/XRT/build/Release/xrt_202320.2.16.0_22.04-amd64-xrt.deb xrt amd64 2.16.0 [18.3 MB]
dpkg: warning: downgrading xrt from 2.16.204 to 2.16.0
(Reading database ... 357951 files and directories currently installed.)
Preparing to unpack .../xrt_202320.2.16.0_22.04-amd64-xrt.deb ...
Unregistering old XRT Linux kernel module sources 2.16.204 from dkms on Ubuntu/Debian
Deleting module xrt-2.16.204 completely from the DKMS tree.
Cleanup is skipped for package upgrade/downgrade/re-install on Ubuntu/Debian
Unpacking xrt (2.16.0) over (2.16.204) ...
Setting up xrt (2.16.0) ...
Unloading old XRT Linux kernel modules
rmmod: ERROR: Module xocl is not currently loaded
rmmod: ERROR: Module xclmgmt is not currently loaded
Invoking DKMS common.postinst for xrt
Loading new xrt-2.16.0 DKMS files...
Building for 6.8.0-40-generic
Building initial module for 6.8.0-40-generic
Error! Build of xocl.ko failed for: 6.8.0-40-generic (x86_64)
Make sure the name of the generated module is correct and at the root of the
build directory, or consult make.log in the build directory
/var/lib/dkms/xrt/2.16.0/build/ for more information.


  • DKMS failed to install XRT drivers.
  • Please check if kernel development headers are installed for OS variant used.
  • Check build logs in /var/lib/dkms/xrt/2.16.0

Installing MSD / MPD daemons

Components Status
XOCL & XCLMGMT Kernel Driver Failed. Check build log : /var/lib/dkms/xrt/2.16.0/build/make.log
XRT USERSPACE Success
MPD/MSD Success
N: Download is performed unsandboxed as root as file '/home/tjt7a/src/XRT/build/Release/xrt_202320.2.16.0_22.04-amd64-xrt.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)

The kernel build log indicates that I may have an incompatible kernel version, but I figured the local build would have prevented this from happening. Any advice?

DKMS make.log for xrt-2.16.0 for kernel 6.8.0-40-generic (x86_64)
Fri Aug 23 01:20:22 PM EDT 2024
cd userpf; make all
make[1]: Entering directory '/var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf'
/var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf
make -C /lib/modules/6.8.0-40-generic/build M=/var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf modules
make[2]: Entering directory '/usr/src/linux-headers-6.8.0-40-generic'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu122.04) 12.3.0
You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1
22.04) 12.3.0
CC [M] /var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf/../xocl_subdev.o
CC [M] /var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf/../xocl_ctx.o
CC [M] /var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf/../xocl_thread.o
CC [M] /var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf/../xocl_fdt.o
CC [M] /var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf/../xocl_xclbin.o
CC [M] /var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf/../xocl_debug.o
CC [M] /var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf/../xocl_xgq.o
CC [M] /var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf/../subdev/xdma.o
/var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf/../subdev/xdma.c: In function ‘xdma_isr’:
/var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf/../subdev/xdma.c:297:17: error: too many arguments to function ‘eventfd_signal’
297 | eventfd_signal(irq_entry->event_ctx, 1);
| ^~~~~~~~~~~~~~
In file included from /var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf/../subdev/xdma.c:21:
./include/linux/eventfd.h:87:20: note: declared here
87 | static inline void eventfd_signal(struct eventfd_ctx *ctx)
| ^~~~~~~~~~~~~~
make[4]: *** [scripts/Makefile.build:243: /var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf/../subdev/xdma.o] Error 1
make[3]: *** [/usr/src/linux-headers-6.8.0-40-generic/Makefile:1926: /var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf] Error 2
make[2]: *** [Makefile:240: __sub-make] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-6.8.0-40-generic'
make[1]: *** [Makefile:137: all] Error 2
make[1]: Leaving directory '/var/lib/dkms/xrt/2.16.0/build/driver/xocl/userpf'
make: *** [Makefile:2: all] Error 2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.