[Xenial] iscsitarget-dkms 1.4.20.3+svn502-2ubuntu4: iscsitarget kernel module failed to build [error: field ‘rx_hash’ has incomplete type]
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
iscsitarget (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Nish Aravamudan | ||
Yakkety |
Invalid
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* The src:iscsitarget package was removed from 16.10 (LP: #1613758).
* Therefore, the iscsitarget-dkms package is no longer tested with 16.10+ kernels to ensure it still compiles.
* The HWE stacks for 16.04 backport the 16.10+ kernels to 16.04.x.
* End users who successfully built the iscistarget driver on 16.04.0/1 kernels (4.4.0-*) will see failures with the HWE kernels.
* iscsitarget and iscsitarget-dkms packages are not technically needed on 16.04 at all. There is an iSCSI target driver (iscsi_target_mod) in the Ubuntu kernel and the iscistarget tooling can be replaced with tgt.
[Test Case]
* Install iscsitarget-dkms while having the 16.04.2 headers installed. The module build will fail (and apport if on a desktop will attempt to submit a bug report).
* In the fixed case, iscsitarget-dkms will see the specified kernel is not supported by the regex and will skip attempting to build.
[Regression Potential]
* Currently, the iscsitarget-dkms throws an error. The error is actually in the use of iscsitarget-dkms at all with newer kernels, and hopefully if end-users depend on it and see the 'skipped' message, they will come to this bug via the changelog. I do not believe there is any regression potential, as I have tested that 4.4.0-* kernels still build the dkms module fine and that all other 16.04 kernel families skip it.
---
I am unable to build the iscsitarget DKMS module on a fresh install of Ubuntu 16.04.2 LTS. Console output is replicated here; the associated make.log file is attached.
Setting up iscsitarget-dkms (1.4.20.
Creating symlink /var/lib/
DKMS: add completed.
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area....
make KERNELRELEASE=
Error! Bad return status for module build on kernel: 4.8.0-39-generic (i686)
Consult /var/lib/
Removing old iscsitarget-
-------
Deleting module version: 1.4.20.3+svn502
completely from the DKMS tree.
-------
Done.
Loading new iscsitarget-
First Installation: checking all kernels...
Building only for 4.8.0-39-generic
Building initial module for 4.8.0-39-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/
Error! Bad return status for module build on kernel: 4.8.0-39-generic (i686)
Consult /var/lib/
summary: |
iscsitarget-dkms 1.4.20.3+svn502-2ubuntu4: iscsitarget kernel module - failed to build + failed to build [error: field ‘rx_hash’ has incomplete type] |
Changed in iscsitarget (Ubuntu): | |
assignee: | nobody → Nish Aravamudan (nacc) |
Changed in iscsitarget (Ubuntu): | |
status: | Confirmed → Invalid |
Changed in iscsitarget (Ubuntu Yakkety): | |
status: | New → Invalid |
Changed in iscsitarget (Ubuntu Xenial): | |
status: | New → In Progress |
assignee: | nobody → Nish Aravamudan (nacc) |
Changed in iscsitarget (Ubuntu): | |
assignee: | Nish Aravamudan (nacc) → nobody |
description: | updated |
description: | updated |
summary: |
- iscsitarget-dkms 1.4.20.3+svn502-2ubuntu4: iscsitarget kernel module - failed to build [error: field ‘rx_hash’ has incomplete type] + [Xenial] iscsitarget-dkms 1.4.20.3+svn502-2ubuntu4: iscsitarget kernel + module failed to build [error: field ‘rx_hash’ has incomplete type] |
tags: | added: triage |
Note you don't need iscsitarget-dkms with the 4.8 kernel, it's been merged upstream.
The right fix here is for the dkms hook to not run on 4.8 or later kernels (the package has been removed altogether from yakkety).