[LITMUS^RT] LITMUS^RT Compilation

Pratyush Patel pratyushpatel.1995 at gmail.com
Mon Jan 25 08:50:07 CET 2016


Hello,

This may be unrelated to LITMUS^RT and is perhaps due to something I
am failing to notice, or a very unlikely Linux compilation bug, but I
decided to post it here as the error only occurs when the LITMUS^RT
patch is applied to Linux 4.1.3 while keeping the configuration same.

As for background, I am trying out the latest stable LITMUS^RT patch
(2015.1), by compiling the kernel on Ubuntu 15.10. I ran into a
compilation error while running "make modules", as attached in this
email. After some browsing on the mailing-list archives, I noticed the
same compilation error was reported here:

https://lists.litmus-rt.org/pipermail/litmus-dev/2015/001177.html

However, I am able to successfully compile the base Linux kernel 4.1.3
using essentially the same config, and I have attached the config
files diff for reference. Curiously, this config does not result in
the stdout message,

CC[M]    drivers/media/usb/as102/as102_usb_drv.o

during the make process of 4.1.3, but does so after the patch,
indicating that somehow... the same module is not compiled for the
base kernel with the same config. I understand that the LITMUS patch
does not make changes to this specific driver module, but any ideas as
to what might be causing this strange behaviour?

I believe it may be of relevance to mention that disabling
CONFIG_DVB_AS102 and CONFIG_DVB_AS102_FE lets me compile and install
LITMUS^RT successfully. Any insight would be much appreciated!

Thank you,
Pratyush
-------------- next part --------------
In file included from include/linux/printk.h:275:0,
                 from include/linux/kernel.h:13,
                 from drivers/media/usb/as102/as102_usb_drv.c:16:
drivers/media/usb/as102/as102_usb_drv.c: In function ‘as102_usb_xfer_cmd’:
drivers/media/usb/as102/as102_usb_drv.c:117:11: error: incompatible type for argument 2 of ‘__dynamic_dev_dbg’
   dev_dbg(bus_adap->usb_dev->dev,
           ^
include/linux/dynamic_debug.h:86:34: note: in definition of macro ‘dynamic_dev_dbg’
   __dynamic_dev_dbg(&descriptor, dev, fmt, \
                                  ^
drivers/media/usb/as102/as102_usb_drv.c:117:3: note: in expansion of macro ‘dev_dbg’
   dev_dbg(bus_adap->usb_dev->dev,
   ^
include/linux/dynamic_debug.h:53:6: note: expected ‘const struct device *’ but argument is of type ‘struct device’
 void __dynamic_dev_dbg(struct _ddebug *descriptor, const struct device *dev,
      ^
drivers/media/usb/as102/as102_usb_drv.c:135:11: error: incompatible type for argument 2 of ‘__dynamic_dev_dbg’
   dev_dbg(bus_adap->usb_dev->dev,
           ^
include/linux/dynamic_debug.h:86:34: note: in definition of macro ‘dynamic_dev_dbg’
   __dynamic_dev_dbg(&descriptor, dev, fmt, \
                                  ^
drivers/media/usb/as102/as102_usb_drv.c:135:3: note: in expansion of macro ‘dev_dbg’
   dev_dbg(bus_adap->usb_dev->dev,
   ^
include/linux/dynamic_debug.h:53:6: note: expected ‘const struct device *’ but argument is of type ‘struct device’
 void __dynamic_dev_dbg(struct _ddebug *descriptor, const struct device *dev,
      ^
scripts/Makefile.build:258: recipe for target 'drivers/media/usb/as102/as102_usb_drv.o' failed
make[4]: *** [drivers/media/usb/as102/as102_usb_drv.o] Error 1
scripts/Makefile.build:403: recipe for target 'drivers/media/usb/as102' failed
make[3]: *** [drivers/media/usb/as102] Error 2
scripts/Makefile.build:403: recipe for target 'drivers/media/usb' failed
make[2]: *** [drivers/media/usb] Error 2
-------------- next part --------------
8073,8110d8072
< CONFIG_ARCH_HAS_FEATHER_TRACE=y
< CONFIG_ARCH_HAS_SEND_PULL_TIMERS=y
< 
< #
< # LITMUS^RT
< #
< 
< #
< # Scheduling
< #
< CONFIG_PLUGIN_CEDF=y
< CONFIG_PLUGIN_PFAIR=y
< # CONFIG_RELEASE_MASTER is not set
< CONFIG_PREFER_LOCAL_LINKING=y
< CONFIG_LITMUS_QUANTUM_LENGTH_US=1000
< CONFIG_BUG_ON_MIGRATION_DEADLOCK=y
< 
< #
< # Real-Time Synchronization
< #
< CONFIG_NP_SECTION=y
< CONFIG_LITMUS_LOCKING=y
< 
< #
< # Performance Enhancements
< #
< CONFIG_SCHED_CPU_AFFINITY=y
< CONFIG_ALLOW_EARLY_RELEASE=y
< # CONFIG_EDF_TIE_BREAK_LATENESS is not set
< CONFIG_EDF_TIE_BREAK_LATENESS_NORM=y
< # CONFIG_EDF_TIE_BREAK_HASH is not set
< # CONFIG_EDF_PID_TIE_BREAK is not set
< 
< #
< # Tracing
< #
< # CONFIG_SCHED_LITMUS_TRACEPOINT is not set
< # CONFIG_SCHED_DEBUG_TRACE is not set


More information about the litmus-dev mailing list