Summary: | linux-mod.eclass - KERNEL_DIR/KBUILD_OUTPUT version mismatch is not detected, KERNEL_DIR is not inferred from $KBUILD_OUTPUT/source | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Dennis Schridde <dschridde+gentoobugs> |
Component: | Eclasses | Assignee: | Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel> |
Status: | RESOLVED NEEDINFO | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
emerge --info aufs3-3_p20121015.ebuild.patch |
Description
Dennis Schridde
2012-10-17 19:25:13 UTC
Created attachment 326784 [details]
build.log
Created attachment 326786 [details]
emerge --info
Created attachment 326788 [details, diff]
aufs3-3_p20121015.ebuild.patch
Attached is the patch to the ebuild that I use. (addresses the non-x86 issues)
My kernel was patched using aufs3-base-6.patch and aufs3-standalone-6.patch. The same issue affects sys-fs/aufs3-3_p20120813-r1. Same issue with aufs3-*-5.patch. dentry_open is defined in include/linux/fs.h: /usr/src/linux-3.6.2-gentoo/include/linux/fs.h:extern struct file * dentry_open(const struct path *, int, const struct cred *); /usr/src/linux-3.5.3-gentoo/include/linux/fs.h:extern struct file * dentry_open(struct dentry *, struct vfsmount *, int, /usr/src/linux-3.5.3-gentoo/include/linux/fs.h- const struct cred *); Apparently the definition changed between linux-3.5 and linux-3.6 and aufs3 needs to adapt. Figured it out. It seems linux-mod.eclass does by default not detect the version based on KBUILD_OUTPUT, but on KERNEL_DIR. If the latter is not set, it defaults to the running kernel, which does not match the version in KBUILD_OUTPUT. After I set both variables the build succeeds. I'll hence blame it on linux-mod.eclass not detecting that the KERNEL_DIR it selected does not match the KBUILD_OUTPUT. The latter should contain a "source" symlink to KERNEL_DIR, and hence allow to detect its version in the same way as for KERNEL_DIR. Further KERNEL_DIR could be automatically set to $KBUILD_OUTPUT/source, if the latter is set but not the former. The patch is not to solve this problem (but bug #432392 and its children), but just informative to tell you what modifications I made. Hence I remove Keywords:PATCH. If this is still an issue after the latest fixes please re-open with reproducible steps. |