Having difficulting installing local-built XRT with Ubuntu 22.04 kernel version 6.8.0-40-generic
@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.022.04) 12.3.0
You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.