On Oracle Linux systems using UEK (Unbreakable Enterprise Kernel), the rapidrecovery-vss DKMS module fails to build during installation or configuration. Typical symptoms include:
1) DKMS build failure during Rapid Recovery installation or during execution of the Rapid Recovery configuration utility.
2) Errors similar to:Error! Bad return status for module build on kernel: <kernel-version>
3) DKMS logs indicating compiler-related warnings or errors
4) Module builds successfully on supported RHEL-compatible kernels, but fails on UEK kernels
Reviewing the DKMS make.log commonly shows warnings about compiler differences between the kernel build environment and the system compiler.
Oracle UEK kernels are built using newer GCC toolchains than the default compiler shipped with Oracle Linux.
In these cases:
1) The running UEK kernel was compiled using a newer GCC version
2) The system default compiler is an older GCC version
3) UEK kernel build configuration injects GCC-version-specific compiler flags
When DKMS attempts to build the rapidrecovery-vss module using the older system compiler, the compiler does not recognize these newer flags, resulting in the build failure.
This is a kernel-specific and compiler compatibility issue, not a defect in Rapid Recovery itself.
To resolve the issue, ensure that DKMS builds the module using a compiler that matches the compiler version used to build the running UEK kernel.
1) Ensure SELinux Is Disabled
In some environments, SELinux can interfere with kernel module installation.
a) Edit the SELinux configuration file: /etc/selinux/config
b) Set SELinux to disabled:
SELINUX=disabled
SELINUXTYPE=targeted
c) Reboot the system
d) After reboot, verify SELinux status: getenforce
e) The output should show: Disabled
2) Install a Compatible GCC Toolset
Install a newer GCC toolset that matches the kernel build compiler: dnf install gcc-toolset-11
This installs the compiler under: /opt/rh/gcc-toolset-11/
3) Update DKMS Build Configuration:
Edit the DKMS configuration file for the rapidrecovery-vss module: /usr/src/rapidrecovery-vss-*/dkms.conf
Update the MAKE directive to explicitly use the newer compiler toolset:
MAKE="scl enable gcc-toolset-11 -- make MODULENAME=rapidrecovery-vss KERNELDIR=/lib/modules/${kernelver}/build KERNELRELEASE=$kernelver"
This ensures DKMS uses the correct compiler when building the module for the active kernel.
4) Re-run the Rapid Recovery configuration utility to trigger the DKMS rebuild: rapidrecovery-config