Failed to load module [veeamsnap] on Oracle Linux 8 with UEK R7 kernel

KB ID: 4394
Product: Veeam Backup & Replication
Published: 2022-12-21
Last Modified: 2022-12-21
Get weekly article updates
By subscribing, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Notice.

Cheers for trusting us with the spot in your mailbox!

Now you’re less likely to miss what’s been brewing in our knowledge base with this weekly digest

error icon

Oops! Something went wrong.

Please try again later.

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.

  1. Contact Veeam Technical Support for Veeam Agent for Linux build 5.0.2.4619.
  2. Remove Veeam Agent for Linux 5.0.2.4567.
  3. Install veeam-5.0.2.4619-1.el8.x86_64.rpm and veeamsnap-5.0.2.4619-1.noarch.rpm packages
  4. Make sure that kernel-uek-devel package matching your running kernel is installed:
rpm -qa | grep kernel-uek-devel-$(uname -r)
[root@localhost ~]# rpm -qa | grep kernel-uek-devel-$(uname -r)
kernel-uek-devel-5.15.0-4.70.5.2.el8uek.x86_64

 

  1. Check dkms status output. veeamsnap/5.0.2.4619 must have added status:
dkms status
[root@localhost ~]# dkms status
veeamsnap/5.0.2.4619: added

 

  1. Build veeamsnap/5.0.2.4619 with dkms using GCC 11 SCL:
scl enable gcc-toolset-11 -- dkms install -m veeamsnap/5.0.2.4619 --force
[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....

 

  1. Verify that veeamsnap/5.0.2.4619 has installed status for the kernel you are running:
uname -r
dkms status
[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.

Spelling error in text

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Thank you!

Thank you!

Your feedback has been received and will be reviewed.

Oops! Something went wrong.

Please try again later.

KB Feedback/Suggestion

This form is only for KB Feedback/Suggestions, if you need help with the software open a support case

By submitting, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Notice.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Verify your email to continue your product download
We've sent a verification code to:
  • Incorrect verification code. Please try again.
An email with a verification code was just sent to
Didn't receive the code? Click to resend in sec
Didn't receive the code? Click to resend
Thank you!

Thank you!

Your feedback has been received and will be reviewed.

error icon

Oops! Something went wrong.

Please try again later.