Porting DKMS package from ubuntu to debian shows compilation errors

2015-09-27 Thread laalaa
When I ported the hdmi_audio dkms package from ubuntu to debian (since ubuntu 
package hard-coded kernel version checking) and install, it shows many 
compilation errors.

Did I missed some library include path / compile parameters for building the 
dkms module?

Alan



Source code: 
http://intel.archive.canonical.com/pool/public/o/oem-audio-i915-baytrail-dkms/

DKMS package installation messages:

# dpkg -i oem-audio-i915-baytrail-dkms_0.20150605_all.deb 
(Reading database ... 148856 files and directories currently installed.)
Preparing to unpack oem-audio-i915-baytrail-dkms_0.20150605_all.deb ...
--
Deleting module version: 0.20150605
completely from the DKMS tree.
--
Done.
Unpacking oem-audio-i915-baytrail-dkms (0.20150605) over (0.20150605) ...
Setting up oem-audio-i915-baytrail-dkms (0.20150605) ...
Loading new oem-audio-i915-baytrail-0.20150605 DKMS files...
First Installation: checking all kernels...
Building for 3.18.21
Building for architecture amd64
Building initial module for 3.18.21
Error! Bad return status for module build on kernel: 3.18.21 (amd64)
Consult /var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/make.log for 
more information.
dpkg: error processing package oem-audio-i915-baytrail-dkms (--install):
 subprocess installed post-installation script returned error exit status 1
Processing triggers for initramfs-tools (0.120) ...
Errors were encountered while processing:
 oem-audio-i915-baytrail-dkms

# cat /var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/make.log
DKMS make.log for oem-audio-i915-baytrail-0.20150605 for kernel 3.18.21 (amd64)
Sun Sep 27 16:29:28 HKT 2015
make -C /lib/modules/3.18.21/build 
M=/var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build modules
make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make 
rule.
make[1]: Entering directory '/usr/local/src/kernel/linux-3.18.21'
  CC [M]  
/var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.o
In file included from include/linux/printk.h:261:0,
 from include/linux/kernel.h:13,
 from include/linux/list.h:8,
 from include/linux/kobject.h:20,
 from include/linux/device.h:17,
 from include/linux/platform_device.h:14,
 from 
/var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.c:29:
/var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.c:
 In function ‘snd_intelhad_pcm_prepare’:
include/linux/dynamic_debug.h:64:16: warning: format ‘%d’ expects argument of 
type ‘int’, but argument 3 has type ‘ssize_t’ [-Wformat=]
  static struct _ddebug  __aligned(8)   \
    ^
include/linux/dynamic_debug.h:76:2: note: in expansion of macro 
‘DEFINE_DYNAMIC_DEBUG_METADATA’
  DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt);  \
  ^
include/linux/printk.h:267:2: note: in expansion of macro ‘dynamic_pr_debug’
  dynamic_pr_debug(fmt, ##__VA_ARGS__)
  ^
/var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.c:1478:2:
 note: in expansion of macro ‘pr_debug’
  pr_debug("period_size=%d\n",
  ^
include/linux/dynamic_debug.h:64:16: warning: format ‘%d’ expects argument of 
type ‘int’, but argument 3 has type ‘size_t’ [-Wformat=]
  static struct _ddebug  __aligned(8)   \
    ^
include/linux/dynamic_debug.h:76:2: note: in expansion of macro 
‘DEFINE_DYNAMIC_DEBUG_METADATA’
  DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt);  \
  ^
include/linux/printk.h:267:2: note: in expansion of macro ‘dynamic_pr_debug’
  dynamic_pr_debug(fmt, ##__VA_ARGS__)
  ^
/var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.c:1481:2:
 note: in expansion of macro ‘pr_debug’
  pr_debug("buffer_size=%d\n", snd_pcm_lib_buffer_bytes(substream));
  ^
/var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.c:
 In function ‘snd_intelhad_pcm_pointer’:
/var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.c:1546:6:
 warning: unused variable ‘l’ [-Wunused-variable]
  u32 l[4];
  ^
In file included from include/linux/printk.h:261:0,
 from include/linux/kernel.h:13,
 from include/linux/list.h:8,
 from include/linux/kobject.h:20,
 from include/linux/device.h:17,
 from include/linux/platform_device.h:14,
 from 
/var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.c:29:
/var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.c:
 In function ‘hdmi_audio_probe’:
include/linux/dynamic_debug.h:64:16: warning: format ‘%d’ expects argument of 
type ‘int’, but argument 3 has type ‘u64 *’ [-Wformat=]
  static struct _ddebug  __aligned(8)   \
    ^
include/linux/dynamic_debug.h:76:2: note: in expansion 

RE: Porting DKMS package from ubuntu to debian shows compilation errors

2015-09-28 Thread laalaa
Thanks for the tips.

After cross checking the missing label / function / file etc in lxr website, 
the code confirmed have been changed from 3.16 --> 3.18 in large extend.  The 
i915 folder from the DKMS source package can be replaced with the Linux kernel 
source one (/drivers/gpu/drm/i915), almost all errors gone.

The only error left is the missing reference from hdmi_audio_if.h which was 
actually backported from intel gma source code from kernel 2.6.x.

I think the effort to port kernel 2.6.x source code to 3.18 is overwhelming.  
So better stay at 3.16.


> From: dbpa...@hotmail.com
> To: debian-devel@lists.debian.org
> Subject: Porting DKMS package from ubuntu to debian shows compilation errors
> Date: Sun, 27 Sep 2015 16:44:54 +0800
>
> When I ported the hdmi_audio dkms package from ubuntu to debian (since ubuntu 
> package hard-coded kernel version checking) and install, it shows many 
> compilation errors.
>
> Did I missed some library include path / compile parameters for building the 
> dkms module?
>
> Alan
>
>
>
> Source code: 
> http://intel.archive.canonical.com/pool/public/o/oem-audio-i915-baytrail-dkms/
>
> DKMS package installation messages:
>
> # dpkg -i oem-audio-i915-baytrail-dkms_0.20150605_all.deb
> (Reading database ... 148856 files and directories currently installed.)
> Preparing to unpack oem-audio-i915-baytrail-dkms_0.20150605_all.deb ...
> --
> Deleting module version: 0.20150605
> completely from the DKMS tree.
> --
> Done.
> Unpacking oem-audio-i915-baytrail-dkms (0.20150605) over (0.20150605) ...
> Setting up oem-audio-i915-baytrail-dkms (0.20150605) ...
> Loading new oem-audio-i915-baytrail-0.20150605 DKMS files...
> First Installation: checking all kernels...
> Building for 3.18.21
> Building for architecture amd64
> Building initial module for 3.18.21
> Error! Bad return status for module build on kernel: 3.18.21 (amd64)
> Consult /var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/make.log for 
> more information.
> dpkg: error processing package oem-audio-i915-baytrail-dkms (--install):
>  subprocess installed post-installation script returned error exit status 1
> Processing triggers for initramfs-tools (0.120) ...
> Errors were encountered while processing:
>  oem-audio-i915-baytrail-dkms
>
> # cat /var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/make.log
> DKMS make.log for oem-audio-i915-baytrail-0.20150605 for kernel 3.18.21 
> (amd64)
> Sun Sep 27 16:29:28 HKT 2015
> make -C /lib/modules/3.18.21/build 
> M=/var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build modules
> make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make 
> rule.
> make[1]: Entering directory '/usr/local/src/kernel/linux-3.18.21'
>   CC [M]  
> /var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.o
> In file included from include/linux/printk.h:261:0,
>  from include/linux/kernel.h:13,
>  from include/linux/list.h:8,
>  from include/linux/kobject.h:20,
>  from include/linux/device.h:17,
>  from include/linux/platform_device.h:14,
>  from 
> /var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.c:29:
> /var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.c:
>  In function ‘snd_intelhad_pcm_prepare’:
> include/linux/dynamic_debug.h:64:16: warning: format ‘%d’ expects argument of 
> type ‘int’, but argument 3 has type ‘ssize_t’ [-Wformat=]
>   static struct _ddebug  __aligned(8)   \
> ^
> include/linux/dynamic_debug.h:76:2: note: in expansion of macro 
> ‘DEFINE_DYNAMIC_DEBUG_METADATA’
>   DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt);  \
>   ^
> include/linux/printk.h:267:2: note: in expansion of macro ‘dynamic_pr_debug’
>   dynamic_pr_debug(fmt, ##__VA_ARGS__)
>   ^
> /var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.c:1478:2:
>  note: in expansion of macro ‘pr_debug’
>   pr_debug("period_size=%d\n",
>   ^
> include/linux/dynamic_debug.h:64:16: warning: format ‘%d’ expects argument of 
> type ‘int’, but argument 3 has type ‘size_t’ [-Wformat=]
>   static struct _ddebug  __aligned(8)   \
> ^
> include/linux/dynamic_debug.h:76:2: note: in expansion of macro 
> ‘DEFINE_DYNAMIC_DEBUG_METADATA’
>   DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt);  \
>   ^
> include/linux/printk.h:267:2: note: in expansion of macro ‘dynamic_pr_debug’
>   dynamic_pr_debug(fmt, ##__VA_ARGS__)
>   ^
> /var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.c:1481:2:
>  note: in expansion of macro ‘pr_debug’
>   pr_debug("buffer_size=%d\n", snd_pcm_lib_buffer_bytes(substream));
>   ^
> /var/lib/dkms/oem-audio-i915-baytrail/0.20150605/build/hdmi_audio/intel_mid_hdmi_audio.c:
>  In function ‘snd_intelhad_pc