[LITMUS^RT] Litmus RT building problem

Alfred Zhong alfchung02 at gmail.com
Fri Feb 17 03:12:22 CET 2012


Thanks Jonathan,

I will try again tomorrow. I encountered more problem when building the
user space library...  I will take a close look and take notes later.

Alfred



On Thu, Feb 16, 2012 at 7:25 PM, Jonathan Herman <hermanjl at cs.unc.edu>wrote:

> Hi Alfred,
>
> An immediate fix is to use the config provided by the web page to get
> around this issue:
>  wget http://www.litmus-rt.org/releases/2012.1/x86_64-config && mv
> x86_64-config .config
> And rebuild:
>  make bzImage
>
> Tomorrow a fix for the issue you encountered will be up on the web page.
> Thanks for noticing this,
> it revealed a serious issue with one of the configuration options.
>
> On Thu, Feb 16, 2012 at 6:10 PM, Alfred Zhong <alfchung02 at gmail.com>wrote:
>
>> Hi dear Litmus RT developers,
>>
>> Question Summary:
>> I tried to build Litmus RT following this tutorial
>> https://wiki.litmus-rt.org/litmus/InstallationInstructions
>>
>>  I encountered an compiling error after typing, I found a hack to get
>> around it and built the kernel successfully. However, I would like to know
>> the standard way to do it.
>>
>>
>>
>> Here is the detail:
>>
>> At the stage of
>> $ make bzImage
>>
>> I got this error
>> litmus/sched_plugin.c:85:4: error: implicit declaration of function
>> ‘request_exit_np_atomic’ [-Werror=implicit-function-declaration]
>> cc1: some warnings being treated as errors
>>
>> So I search where this function is declared
>> $ grep -r "request_exit_np_atomic" *
>>
>> and found
>>  include/litmus/litmus.h:inline int request_exit_np_atomic(struct
>> task_struct *t)
>>
>> then I discovered that this declaration in litmus.h is inside
>> #ifdef CONFIG_NP_SECTION
>> ...
>> #else
>> ...
>>
>> and I search for CONFIG_NP_SECTION and found it is not defined anywhere,
>> so the function 'request_exit_np_atomic' is never declared.
>>
>> then I added
>> #define CONFIG_NP_SECTION
>> before
>> #include <litmus/litmus.h> in sched_plugin.c
>>
>> Then I got another error.
>> include/litmus/litmus.h: In function ‘is_kernel_np’:
>> include/litmus/litmus.h:135:18: error: ‘struct rt_param’ has no member
>> named ‘kernel_np’
>> include/litmus/litmus.h: In function ‘make_np’:
>> include/litmus/litmus.h:157:11: error: ‘struct rt_param’ has no member
>> named ‘kernel_np’
>> include/litmus/litmus.h: In function ‘take_np’:
>> include/litmus/litmus.h:165:20: error: ‘struct rt_param’ has no member
>> named ‘kernel_np’
>> In file included from litmus/sched_plugin.c:16:0:
>> include/litmus/sched_plugin.h: At top level:
>> include/litmus/sched_plugin.h:59:6: warning: ‘struct litmus_lock’
>> declared inside parameter list [enabled by default]
>> include/litmus/sched_plugin.h:59:6: warning: its scope is only this
>> definition or declaration, which is probably not what you want [enabled by
>> default]
>> litmus/sched_plugin.c: In function ‘is_kernel_np’:
>> include/litmus/litmus.h:136:1: warning: control reaches end of non-void
>> function [-Wreturn-type]
>> make[1]: *** [litmus/sched_plugin.o] Error 1
>> make: *** [litmus] Error 2
>>
>> And here is my hack to get around. I copied the whole function of
>> 'request_exit_np' to the beginning of sched_plugin.c, and this time it
>> builds the whole kernel successfully.
>>
>> I am wondering if there is anything else I need to configure that the
>> tutorial doesn't mention to make this go in a standard way?
>>
>>
>> Thanks!
>> Alfred
>>
>>
>> _______________________________________________
>> litmus-dev mailing list
>> litmus-dev at lists.litmus-rt.org
>> https://lists.litmus-rt.org/listinfo/litmus-dev
>>
>>
>
>
> --
> Jonathan Herman
> Department of Computer Science at UNC Chapel Hill
>
> _______________________________________________
> litmus-dev mailing list
> litmus-dev at lists.litmus-rt.org
> https://lists.litmus-rt.org/listinfo/litmus-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20120216/a841678a/attachment.html>


More information about the litmus-dev mailing list