Comments (2)
This issue is reproducible on CentOS 6, 7, 8, Fedora 31 and, probably other rpm-based systems.
As example, on CentOS 6.10:
Installing : dkms-assurio-snap-0.10.13-1.el6.noarch
Loading new assurio-snap-0.10.13 DKMS files...
Building for 2.6.32-754.3.5.el6.x86_64
Module build for kernel 2.6.32-754.3.5.el6.x86_64 was skipped since the
kernel headers for this kernel does not seem to be installed.
Full installation log is attached. CentOS6.log
DKMS checks a dir /lib/modules/2.6.32-754.3.5.el6.x86_64/build
which is a symlink to the ../../../usr/src/kernels/2.6.32-754.3.5.el6.x86_64
to find kernel headers there. The target dir doesn't exist. That's why it shows a message about missing kernel headers. But the message isn't quite accurate. /usr/src/[kernel-name] is provided by the kernel-devel package. And DKMS has dependency on [it] (https://github.com/dell/dkms/blob/v2.8.1/dkms.spec#L19). But this dependency installs kernel-debug-devel instead. There are few bugs about that:
- Bug 1228897 - dnf installs the wrong kernel variant subpackages
Steps to Reproduce:
1. Set up a Fedora system without kernel-devel installed already running on a non-debug kernel
2. Install dkms through dnf (or yum on Fedora 21)
Actual results:
kernel-debug-devel is pulled in as a dependency and installed
Expected results:
kernel-devel should be installed as a dependency on a system that's not running a debug kernel
Solution
We need have to add a dependency to the kernel-devel
package, somehow to have exactly it installed, not the kernel-debug-devel
. Also we can't add dependency on the kernel-devel-uname-r
to preserve ability of the package installation on the chroot env or in a docker container without necessity to build the kernel module during the installation for the current running kernel. In these cases, mostly, user will go to build the kernel module for the offline kernel. And it's possible to do with dkms.
This solution will resolve the issue just partially for the case, when a system running under most recent kernel.
from elastio-snap.
Tested an idea to add weak dependency
Recommends: kernel-devel-uname-r
to preserve possibility of the installation on the chroot/docker environment and at the same time resolve this issue for cases when current running kernel is not most recent. But, unfortunately, kernel-devel-uname-r installs kernel-debug-devel or kernel-devel of the most recent version still.
And, unfortunately, rpm doesn't support a statement like:
Recommends: kernel-devel-$(uname -r)
or
Recommends: kernel-devel-uname-r == $(uname -r)
as analog of yum install "kernel-devel-uname-r == $(uname -r)"
.
So in theory this idea is good, but not applicable in practice.
from elastio-snap.
Related Issues (20)
- test_transition_fs_sync_cow_full sometimes crashes on Fedora 34 HOT 2
- Error finding original_mrf on Fedora 31 HOT 2
- Support Linux kernel 6.1 as on AL2023 HOT 1
- Support kernel 6.2.9 as in the upcoming Fedora 38
- Implement performance optimizations for the direct IO functionality HOT 1
- COW file is empty when opened with regular tools
- Create cow file precisely according to the user setting HOT 1
- Implement test for `fsck` on the resulting incremental after multiple snapshots
- Accelerate the COW file allocation
- Syscall hook randomly fails on Ubuntu 22.04 with aarch64 HOT 1
- test_update_image doesn't work on Centos 8 aarch64
- `test_destroy_dormant_*` are failing on Ubuntu 22.04 with kernel `5.15.0-60-generic`
- Implement support of the kernel v6.3.8 HOT 1
- Create a skeleton of the driver debug utility HOT 2
- Add Debian 12 tests and builds
- Warning about invalid options combination of xargs during building DKMS module
- Fix compilation of nl_debug.o for v3.x & v4.x kernels
- Makefile rebuild (-B option) causes genconfig to be called twice
- CI worklow fails due AWS credential expiration
- Driver can't insmod on ext3 on rare occasions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elastio-snap.