-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
On Redhat 9.4/9.5 make ksmbd fails due to missing genhd.h for vfs.c #490
Comments
Looks likes genhd.h was removed in 5.19.8 (though not sure why you're seeing this in 5.14, guess RH specific) see: https://lore.kernel.org/all/9bb3f4c6-4e21-e1d7-b4e1-f65d273cd3f8@nvidia.com/t/ try changing it for <linux/blkdev.h> Cheers, |
I tried blkdev.h instead of genhd.h, but that threw a lot of (other) errors, so that is not really a fix. |
I'm sure your busy, but forgive the bump as a buildable ksmbd kernel module on a RHEL clone would be very, very useful: We see exactly the same problem on Alma 9.5 with kernel 5.14.0-503.21.1.el9_5.x86_64 likewise changing genhd.h for blkdev.h in vfs.c threw lots of other errors. any work around greatly appreciated. Jake |
@capnbb I have removed genhd header in #master branch. Please check it. |
Thank you so much @namjaejeon, but I'm sorry to say this still doesn't fix our build issue. I've given details next to your Commit 4c27c3b again, many thanks Jake |
Although kernel version of Redhat 9.4/9.5 is not 5.14 kernel, they didn't increase their kernel version. |
The mismatch is due to Redhat backporting features and fixes to the kernel, so it ends up as a hybrid that never exactly matches the official kernel. The backport kernels work for lots of dkms kernel modules, but breaks others…😟 I'll try enabling the elrepo-kernel, as this gives us access to standard kernels which ksmbd should build against... Thanks again |
Quick update, the current LTS kernel for Alma 9.5 (kernel-lt-6.1.128-1.el9 ) doesn't build ksmbd make gives an "error: redefinition of ‘is_dot_dotdot’" However, commenting the offending section out of vfs.c allows the build to complete: diff vfs.c.orig vfs.c
|
Error:
make[1]: Entering directory '/usr/src/kernels/5.14.0-503.14.1.el9_5.x86_64'
CC [M] /home/test/ksmbd/unicode.o
CC [M] /home/test/ksmbd/auth.o
CC [M] /home/test/ksmbd/vfs.o
/home/test/ksmbd/vfs.c:19:10: fatal error: linux/genhd.h: No such file or directory
19 | #include <linux/genhd.h>
| ^~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.build:249: /home/bestie/ksmbd/vfs.o] Error 1
make[1]: *** [Makefile:1944: /home/bestie/ksmbd] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.14.0-503.14.1.el9_5.x86_64'
make: *** [Makefile:47: all] Error 2
Seems genhd.h is no longer included but still expected for this particular kernel?
uname -r:
5.14.0-503.14.1.el9_5.x86_64
The text was updated successfully, but these errors were encountered: