Failed to load module [veeamsnap] on Oracle Linux 8 with UEK R7 kernel
Challenge
When running Oracle Linux 8 with UEK R7 kernel (5.15+):
[root@localhost ~]# cat /etc/oracle-release Oracle Linux Server release 8.7 [root@localhost ~]# uname -r 5.15.0-4.70.5.2.el8uek.x86_64
Veeam Agent for Linux backup job fails with "Failed to load module [veeamsnap] error":
[error] Failed to load module [veeamsnap] with parameters [zerosnapdata=1 debuglogging=0 snapstore_block_size_pow=14 change_tracking_block_size_pow=18 logdir=/var/lo... [error] Processing finished with errors
Cause
UEK R7 is built with GCC 11, while Oracle Linux 8 ships GCC 8.5. This causes veeamsnap kernel module build failure because DKMS uses GCC 8.5:
make.log DKMS make.log for veeamsnap-5.0.2.4619 for kernel 5.15.0-4.70.5.2.el8uek.x86_64 (x86_64) make: Entering directory '/usr/src/kernels/5.15.0-4.70.5.2.el8uek.x86_64' warning: the compiler differs from the one used to build the kernel The kernel was built by: gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9.1.0.2) You are using: gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-15.0.1) CC [M] /var/lib/dkms/veeamsnap/5.0.2.4619/build/log.o gcc: error: unrecognized command line option ‘-ftrivial-auto-var-init=zero’ gcc: error: unrecognized command line option ‘-fzero-call-used-regs=used-gpr’ make[1]: *** [scripts/Makefile.build:288: /var/lib/dkms/veeamsnap/5.0.2.4619/build/log.o] Error 1 make: *** [Makefile:1974: /var/lib/dkms/veeamsnap/5.0.2.4619/build] Error 2 make: Leaving directory '/usr/src/kernels/5.15.0-4.70.5.2.el8uek.x86_64'
Solution
Tip: Hover over the command blocks below to see the copy to clipboard button.
You must rebuild the veeamsnap module using Software Collection (SCL) for GCC 11. SCL for GCC 11 is shipped with UEK R7 kernel.
- Contact Veeam Technical Support for Veeam Agent for Linux build 5.0.2.4619.
- Remove Veeam Agent for Linux 5.0.2.4567.
- Install veeam-5.0.2.4619-1.el8.x86_64.rpm and veeamsnap-5.0.2.4619-1.noarch.rpm packages
- Make sure that kernel-uek-devel package matching your running kernel is installed:
[root@localhost ~]# rpm -qa | grep kernel-uek-devel-$(uname -r) kernel-uek-devel-5.15.0-4.70.5.2.el8uek.x86_64
- Check dkms status output. veeamsnap/5.0.2.4619 must have added status:
[root@localhost ~]# dkms status veeamsnap/5.0.2.4619: added
- Build veeamsnap/5.0.2.4619 with dkms using GCC 11 SCL:
[root@localhost ~]# scl enable gcc-toolset-11 -- dkms install -m veeamsnap/5.0.2.4619 --force Sign command: /lib/modules/5.15.0-4.70.5.2.el8uek.x86_64/build/scripts/sign-file Signing key: /var/lib/dkms/mok.key Public certificate (MOK): /var/lib/dkms/mok.pub Deprecated feature: REMAKE_INITRD Running the pre_build script: Real System.map was found in '/lib/modules/5.15.0-4.70.5.2.el8uek.x86_64/System.map' Generate "/var/lib/dkms/veeamsnap/5.0.2.4619/build/config.h" for kernel "5.15.0-4.70.5.2.el8uek.x86_64". System map "/lib/modules/5.15.0-4.70.5.2.el8uek.x86_64/System.map". Exported function "blk_mq_make_request" not found Exported function "blk_alloc_queue_rh" not found Exported function "submit_bio_noacct" was found Address of the function "__request_module" was defined Address of the function "blk_mq_submit_bio" was defined Building module: Cleaning build area... make -j1 KERNELRELEASE=5.15.0-4.70.5.2.el8uek.x86_64 -C /lib/modules/5.15.0-4.70.5.2.el8uek.x86_64/build M=/var/lib/dkms/veeamsnap/5.0.2.4619/build modules......... Signing module /var/lib/dkms/veeamsnap/5.0.2.4619/build/veeamsnap.ko Cleaning build area... veeamsnap.ko.xz: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/5.15.0-4.70.5.2.el8uek.x86_64/extra/ depmod....
- Verify that veeamsnap/5.0.2.4619 has installed status for the kernel you are running:
[root@localhost ~]# uname -r 5.15.0-4.70.5.2.el8uek.x86_64 [root@localhost ~]# dkms status veeamsnap/5.0.2.4619, 5.15.0-4.70.5.2.el8uek.x86_64, x86_64: installed
To submit feedback regarding this article, please click this link: Send Article Feedback
To report a typo on this page, highlight the typo with your mouse and press CTRL + Enter.
To report a typo on this page, highlight the typo with your mouse and press CTRL + Enter.