- Package:
- wireguard-dkms
- Source:
- wireguard-linux-compat
- Submitter:
- Mickey Derks
- Date:
- 2022-06-03 12:24:03 UTC
- Severity:
- wishlist
Dear Maintainer, On Debian Jessie, with (at least) kernel linux-image-3.16.0-4-686-pae, the DKMS module fails to compile, with an error related to the dev_recursion_level() redifinition in the wireguard source files. See also this CentOS isssue; the patch suggested there (removing the redifinition) fixes the issue for me: https://lists.zx2c4.com/pipermail/wireguard/2017-June/001457.html
sorry to dredge this thread back up from the archives... https://bugs.debian.org/894909 shows someone trying to build wireguard against the debian 8 ("jessie" aka "oldstable") 3.16 kernel saying that they needed a similar patch to make the kernel module build. I know that debian's kernel team does backport a lot of fixes to our supported older kernels, similar to older releases of RedHat. i'm asking over on #debian-kernel (on OFTC) to see whether there is some similar to RHEL_MAJOR or CONFIG_SUSE_KERNEL or UTS_UBUNTU_RELEASE_ABI that we can use for jessie.
Ben Hutchings of the debian kernel team followed up there suggesting
feature tests or autoconf-type checks:
11:02 < dkg> https://bugs.debian.org/894909 suggests that some of the
backported fixes to 3.16 in jessie are getting in the way
of compiling wireguard. the referenced upstream thread
shows that they worked around the problem for RHEL7 using
some redhat-specific #defines
11:02 -zwiebelbot:#debian-kernel- Debian#894909: wireguard-dkms:
dev_recursion_level definition problem
- https://bugs.debian.org/894909
11:02 < dkg> is there a comparable fix for older debian kernels?
11:04 < dkg> they have tests for #if RHEL_MAJOR == 7
11:04 < dkg> and #ifdef UTS_UBUNTU_RELEASE_ABI
11:52 < bwh> dkg: I've been there, and the way to deal with this is autoconf-type checks
11:55 < bwh> Well, either '#ifdef feature' or an autoconf-type check
So i don't think there's a comparable #define we can use for the
maintained debian kernels :/
i don't know how dev_recursion_level works. can we wrap the #define
dev_recursion_level() 0 inside an #ifndef dev_recursion_level safely?
I'm retitling https://bugs.debian.org/894909 to clarify that it's only a problem on jessie (currently, oldstable), and to mark it as wishlist -- we're currently only really supporting wireguard in unstable, though i agree it would be nice to make it work in older releases.
Support for jessie LTS has ended nearly 2 years ago, so I'm closing this bug now. Andreas