<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><blockquote type="cite" class="">On Fri, May 29, 2015 at 6:23 PM, Björn Brandenburg <span dir="ltr" class=""><<a href="mailto:bbb@mpi-sws.org" target="_blank" class="">bbb@mpi-sws.org</a>></span> wrote:<br class=""></blockquote><div><blockquote type="cite" class=""><div class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br class="">
> On 29 May 2015, at 13:13, Dhanny R <<a href="mailto:dhanker2626@gmail.com" class="">dhanker2626@gmail.com</a>> wrote:<br class="">
><br class="">
> Hello Sir Björn<br class="">
><br class="">
> i have many question about LITMUS,<br class="">
> i'm interested because for my tesis research...<br class="">
> and i'm newbie for this<br class="">
><br class="">
> my question are :<br class="">
> 1. i have many task for testing in liblitmus, it's right if i edit from base_mt_task (multicore)<br class="">
> or base_task (single core) or i must create a new file from liblitmus directory?<br class="">
><br class="">
> 2. how can i compile the code that i build? if any tools must be installed like gcc or something else, in which directory i must installed? in liblitmus or any?<br class="">
><br class="">
> 3. if my step wrong, could you give me reference how step by step using this tools?<br class="">
><br class="">
> glad to know for the fast response<br class="">
<br class="">
<br class="">
</div></div>Dhany, I’m glad that you are interested in using LITMUS^RT for your thesis research, but the questions that you are now asking pertain to issues that are not LITMUS^RT specific and not appropriate for this mailing list. Some experience working with moderately complex C code bases and Linux is required to make use of LITMUS^RT.<br class="">
<br class="">
To answer your questions:<br class="">
<br class="">
1) You may organize your code any way you like. The two dummy skeletons exist to make starting up easier, but their use is entirely optional.<br class="">
<br class="">
2) Like most C libraries, liblitmus comes with a makefile. Of course a working gcc toolchain is required.<br class="">
<br class="">
3) I suggest you first learn how to build regular C programs on Linux, and how to use make. Once you know how to do that LITMUS^RT is fairly straightforward to use.<br class="">
<br class="">
Best regards,<br class="">
Björn<br class=""></blockquote></div></div></div></blockquote><div></div><div class=""></div><blockquote type="cite" class=""><div><br class=""></div><div class="">On May 31, 2015, at 1:02 AM, Dhanny R <<a href="mailto:dhanker2626@gmail.com" class="">dhanker2626@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class=""><div class=""><div class=""><div class="">hello again, <br class=""></div>when i want to compile my program with gcc, the error message fatal error: litmus.h: No such file or directory, after i found the directory and compile again, error message shown fatal error: asm/cycles.h No such file or directory, <br class=""><br class=""></div>my question, which directory i can find litmus.h, asm/cycles.h?<br class=""><br class=""></div>thanks<br class=""><br class=""></div>regards</div></div></blockquote><br class=""></div><div><br class=""></div><div>Hi Dhanny,<div class=""><br class=""></div><div class="">The makefile for liblitmus automatically copies header files that from litmus-rt. Some of these headers are created/generated when you compile the litmus kernel.</div><div class=""><br class=""></div><div class="">This means:</div><div class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>(1) Litmus must be compiled before liblitmus in order to create the required generated files.</div><div class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>(2) litmus-rt and liblitmus directories must share the same parent directory.* (Please see <a href="https://github.com/LITMUS-RT/liblitmus/blob/master/Makefile#L151" class="">https://github.com/LITMUS-RT/liblitmus/blob/master/Makefile#L151</a>)</div><div class=""><br class=""></div><div class="">Let’s say that you have cloned the litmus-rt and liblitmus git repositories in your home directory (~/ or $HOME). You would follow these general steps:</div><div class=""><br class=""></div><div class="">1) cd $HOME</div><div class="">2) Run “ls” in your home directory. Confirm that you see “litmus-rt/“ and “liblitmus/“ directories.</div><div class="">3) compile litmus-rt</div><div class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>a) cd litmus-rt</div><div class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>b) (set up your .config file for the kernel)</div><div class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>c) make</div><div class="">4) cd $HOME</div><div class="">5) compile liblitmus</div><div class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>a) cd liblitmus</div><div class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>b) make</div><div class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>c) Run “ls”. You should see compiled liblitmus tools such as executables “rt_spin”, “rt_launch”, “base_task”, and “base_mt_task".</div><div class=""><br class=""></div><div class="">Hope this helps.</div><div class=""><br class=""></div><div class="">-Glenn</div><div class=""><br class=""></div></div>* This is actually a half-truth. You may configure liblitmus to look for the litmus-rt files in a different location by setting the LITMUS_KERNEL makefile variable. By default, this variable is set to “LITMUS_KERNEL ?= ../litmus-rt”. Please see <a href="https://github.com/LITMUS-RT/liblitmus/blob/master/Makefile#L15" class="">https://github.com/LITMUS-RT/liblitmus/blob/master/Makefile#L15</a></div></body></html>