First a bit of context. Red Hat and CentOS have macros for kernel detection and kernel module building. See `kernel_module_package` in `/usr/lib/rpm/redhat/macros`.
An example of a vendor's source RPM making use of this macro: http://ldriver.qlogic.com/driver-srpms/netxtreme2/netxtreme2-7.14.46-1.rhel7u5.src.rpm
Per Red Hat's and CentOS' standards, this should end in .x86_64. Having it end in -x86_64 confuses the %kernel_module_package macro which then produces outputs such as:
See all these paths that wrongly end in .x86_64.x86_64
Also, some third party source RPMs also rely on directory names in /usr/src/kernels to detect available kernel devel headers and sources and get confused, causing build failures for people trying to build drivers for their XenServer.
This can be fixed "manually" by creating a /usr/src/kernels/4.4.0+10.x86_64 symlink.
Even after adding a symlink, build issues still remain. Most of the time, the build process will look for files in /lib/modules/4.4.0+10.x86_64 (that is, in a directory that has the same name as the one in /usr/src/kernels). Unfortunately the kernel-devel package provides a /lib/modules/4.4.0+10 directory, so it doesn't match and builds often fail.
Rename /usr/src/4.4.0+10-x86_64 to /usr/src/4.4.0+10.x86_64. Note that /usr/src/4.4.0+10 would not work because the depmod tool that is used in the above macro automatically adds `.x86_64` if missing.
Rename /lib/modules/4.4.0+10 to /lib/modules/4.4.0+10.x86_64
Update the Driver Developement Kit VM with these changes.