Brian is right.
The version the duplicate flag was linked to affected the nvidia-331 and it is fixed there only.
Currently this bug is still present in the 173.14.39 package of the legacy nvidia drivers and is not fixed.
The compile process stops with these errors in the /var/lib/dkms/nvidia-173/173.14.39/build/make.log
include/acpi/acpi_drivers.h: At top level:
include/acpi/acpi_drivers.h:98:43: warning: ‘struct acpi_pci_root’ declared inside parameter list [enabled by default]
struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root); ^
include/acpi/acpi_drivers.h:98:43: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:51:21: error: variable ‘nv_acpi_driver_template’ has initializer but incomplete type
static const struct acpi_driver nv_acpi_driver_template = { ^
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:52:5: error: unknown field ‘name’ specified in initializer
.name = "NVIDIA ACPI Video Driver",
^
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:52:5: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:52:5: warning: (near initialization for ‘nv_acpi_driver_template’) [enabled by default]
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:53:5: error: unknown field ‘class’ specified in initializer
.class = "video",
^
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:53:5: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:53:5: warning: (near initialization for ‘nv_acpi_driver_template’) [enabled by default]
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:58:5: error: unknown field ‘ids’ specified in initializer
.ids = ACPI_VIDEO_HID,
^
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:58:5: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:58:5: warning: (near initialization for ‘nv_acpi_driver_template’) [enabled by default]
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:61:5: error: unknown field ‘ops’ specified in initializer
.ops = {
^
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:61:5: error: extra brace group at end of initializer
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:61:5: error: (near initialization for ‘nv_acpi_driver_template’)
/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.c:67:5: warning: excess elements in struct initializer [enabled by default]
},
.....
make[3]: *** [/var/lib/dkms/nvidia-173/173.14.39/build/nvacpi.o] Fehler 1
make[2]: *** [_module_/var/lib/dkms/nvidia-173/173.14.39/build] Fehler 2
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[1]: *** [module] Fehler 1
make: *** [module] Fehler 2
Brian is right.
The version the duplicate flag was linked to affected the nvidia-331 and it is fixed there only.
Currently this bug is still present in the 173.14.39 package of the legacy nvidia drivers and is not fixed.
The compile process stops with these errors in the /var/lib/ dkms/nvidia- 173/173. 14.39/build/ make.log
include/ acpi/acpi_ drivers. h: At top level: acpi/acpi_ drivers. h:98:43: warning: ‘struct acpi_pci_root’ declared inside parameter list [enabled by default] scan_root( struct acpi_pci_root *root);
^ acpi/acpi_ drivers. h:98:43: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:51:21: error: variable ‘nv_acpi_ driver_ template’ has initializer but incomplete type driver_ template = {
^ dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:52:5: error: unknown field ‘name’ specified in initializer dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:52:5: warning: excess elements in struct initializer [enabled by default] dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:52:5: warning: (near initialization for ‘nv_acpi_ driver_ template’ ) [enabled by default] dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:53:5: error: unknown field ‘class’ specified in initializer dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:53:5: warning: excess elements in struct initializer [enabled by default] dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:53:5: warning: (near initialization for ‘nv_acpi_ driver_ template’ ) [enabled by default] dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:58:5: error: unknown field ‘ids’ specified in initializer dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:58:5: warning: excess elements in struct initializer [enabled by default] dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:58:5: warning: (near initialization for ‘nv_acpi_ driver_ template’ ) [enabled by default] dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:61:5: error: unknown field ‘ops’ specified in initializer dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:61:5: error: extra brace group at end of initializer dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:61:5: error: (near initialization for ‘nv_acpi_ driver_ template’ ) dkms/nvidia- 173/173. 14.39/build/ nvacpi. c:67:5: warning: excess elements in struct initializer [enabled by default] dkms/nvidia- 173/173. 14.39/build/ nvacpi. o] Fehler 1 /var/lib/ dkms/nvidia- 173/173. 14.39/build] Fehler 2
include/
struct pci_bus *pci_acpi_
include/
/var/lib/
static const struct acpi_driver nv_acpi_
/var/lib/
.name = "NVIDIA ACPI Video Driver",
^
/var/lib/
/var/lib/
/var/lib/
.class = "video",
^
/var/lib/
/var/lib/
/var/lib/
.ids = ACPI_VIDEO_HID,
^
/var/lib/
/var/lib/
/var/lib/
.ops = {
^
/var/lib/
/var/lib/
/var/lib/
},
.....
make[3]: *** [/var/lib/
make[2]: *** [_module_
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[1]: *** [module] Fehler 1
make: *** [module] Fehler 2