<div dir="ltr"><div><div>well, very thanks for this solving Glenn,<br><br></div>very thanks...<br><br></div>regards..<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 31, 2015 at 3:54 PM, Glenn Elliott <span dir="ltr"><<a href="mailto:gelliott@cs.unc.edu" target="_blank">gelliott@cs.unc.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div class="h5"><div><blockquote type="cite">On Fri, May 29, 2015 at 6:23 PM, Björn Brandenburg <span dir="ltr"><<a href="mailto:bbb@mpi-sws.org" target="_blank">bbb@mpi-sws.org</a>></span> wrote:<br></blockquote><blockquote type="cite"><div><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><div><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><div><br>
> On 29 May 2015, at 13:13, Dhanny R <<a href="mailto:dhanker2626@gmail.com" target="_blank">dhanker2626@gmail.com</a>> wrote:<br>
><br>
> Hello Sir Björn<br>
><br>
> i have many question about LITMUS,<br>
> i'm interested because for my tesis research...<br>
> and i'm newbie for this<br>
><br>
> my question are :<br>
> 1. i have many task for testing in liblitmus, it's right if i edit from base_mt_task (multicore)<br>
> or base_task (single core) or i must create a new file from liblitmus directory?<br>
><br>
> 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>
><br>
> 3. if my step wrong, could you give me reference how step by step using this tools?<br>
><br>
> glad to know for the fast response<br>
<br>
<br>
</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>
<br>
To answer your questions:<br>
<br>
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>
<br>
2) Like most C libraries, liblitmus comes with a makefile. Of course a working gcc toolchain is required.<br>
<br>
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>
<br>
Best regards,<br>
Björn<br></blockquote></div></div></div></div></blockquote></div></div></div></blockquote><blockquote type="cite"><br></blockquote></div><div><blockquote type="cite">On Sun, May 31, 2015 at 3:02 PM, Dhanny R <span dir="ltr"><<a href="mailto:dhanker2626@gmail.com" target="_blank">dhanker2626@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>hello again, <br></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><br></div>my question, which directory i can find litmus.h, asm/cycles.h?<br><br></div>thanks<br><br></div>regards</div></blockquote></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"></blockquote></div><div></div></div></div><span class=""><blockquote type="cite"><div><br></div><div><div>On May 31, 2015, at 1:38 AM, Dhanny R <<a href="mailto:dhanker2626@gmail.com" target="_blank">dhanker2626@gmail.com</a>> wrote:</div><br><div><div dir="ltr"><div><div>hello, sorry for my last message, i have fixed that, but when i compile my sample experiment there is an error message :<br><br>root@vm1:~/liblitmus/bin# gcc -o test base_mt_task.c <br>/tmp/ccA4KPUl.o: In function `main':<br>base_mt_task.c:(.text+0x19): undefined reference to `init_litmus'<br>base_mt_task.c:(.text+0x6b): undefined reference to `pthread_create'<br>base_mt_task.c:(.text+0x95): undefined reference to `pthread_join'<br>/tmp/ccA4KPUl.o: In function `rt_thread':<br>base_mt_task.c:(.text+0xc6): undefined reference to `init_rt_task_param'<br>base_mt_task.c:(.text+0x112): undefined reference to `init_rt_thread'<br>base_mt_task.c:(.text+0x169): undefined reference to `gettid'<br>base_mt_task.c:(.text+0x177): undefined reference to `set_rt_task_param'<br>base_mt_task.c:(.text+0x1ce): undefined reference to `task_mode'<br>base_mt_task.c:(.text+0x220): undefined reference to `sleep_next_period'<br>base_mt_task.c:(.text+0x238): undefined reference to `task_mode'<br>collect2: ld returned 1 exit status<br><br><br></div>anyone can help me? thanks so much</div></div></div></div></blockquote><div><br></div><div><br></div></span><div>Like many C programs, several liblitmus programs link in additional libraries. In your case, base_mt_task.c must also link in the liblitmus library. Here, the compiler is complaining that it cannot find liblitmus functions (among others). Assuming that you have run the liblitmus makefile, you should see a static library with the name “liblitmus.a” in the liblitmus directory.</div><div><br></div><div>You can try the command “gcc -o test base_mt_task.c -llitmus” to tell GCC to also link in liblitmus.a. HOWEVER, I don’t expect that this will actually work. Liblitmus programs usually also link in the standard math library (“-lm”), the POSIX real-time library (“-lrt”), and the POSIX threading library (“-pthread”). So you would probably need to do “gcc -o test base_mt_task.c -litmus -pthread -lrt -lm”. (For subtle reasons, you want to use “-pthread” and NOT “-lpthread”.)</div><div><br></div><div>As you may see in the file liblitmus/Makefile (see here: <a href="https://github.com/LITMUS-RT/liblitmus/blob/master/Makefile#L221" target="_blank">https://github.com/LITMUS-RT/liblitmus/blob/master/Makefile#L221</a>), the liblitmus makefile is already set up to compile base_mt_task.c for you. Just run “make” in the liblitmus directory (again, after you have compiled litmus-rt.) If you want to write your own liblitmus-based programs, I recommend that you modify the liblitmus Makefile to also compile your custom source files. The link above should give you an idea of how to do this.</div><div><br></div><div>If you’re not familiar with makefiles, I suggest that you follow an online tutorial. Here’s google’s top tutorial: <a href="http://mrbook.org/blog/tutorials/make/" target="_blank">http://mrbook.org/blog/tutorials/make/</a></div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-Glenn</div><div><br></div><div><br></div><div><br><div><div><div dir="ltr"></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div></div></div></blockquote></div></div></div></div><br></div></font></span></div><br>_______________________________________________<br>
litmus-dev mailing list<br>
<a href="mailto:litmus-dev@lists.litmus-rt.org">litmus-dev@lists.litmus-rt.org</a><br>
<a href="https://lists.litmus-rt.org/listinfo/litmus-dev" target="_blank">https://lists.litmus-rt.org/listinfo/litmus-dev</a><br>
<br></blockquote></div><br></div>