[LITMUS^RT] LITMUS^RT Compilation
Björn Brandenburg
bbb at mpi-sws.org
Mon Jan 25 23:47:38 CET 2016
> On 25 Jan 2016, at 08:50, Pratyush Patel <pratyushpatel.1995 at gmail.com> wrote:
>
> 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!
Hi Pratyush,
I took a look at the code in question, reproduced below:
> if (recv_buf != NULL) {
> #ifdef TRACE
> dev_dbg(bus_adap->usb_dev->dev,
> "want to read: %d bytes\n", recv_buf_len);
> #endif
The problem is that the code is somehow pulling in our TRACE() debugging macro, which then makes the #ifdef evaluate to true. Classic result of C's lack of namespaces…
You could just hack in an "#undef TRACE" at the top of the file.
Or disable the module, given that it’s the driver for "Abilis Systems Single DVB-T Receiver” (unless you wanted to watch TV with LITMUS^RT… ;-).
- Björn
More information about the litmus-dev
mailing list