Porting DKMS package from ubuntu to debian shows compilation errors
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
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