Thank you very much for your reply! I really appreciate that someone is still trying to help me after so many questions from me :) I've got an error again, so I will describe here all my steps in case I'm doing something wrong and you can see where the problem could be. 1. olga@olga-H270M-DS3H:~/development$ git clone git:// git.rtems.org/rtems-examples.git 2. olga@olga-H270M-DS3H:~/development$ cd rtems-examples 3. olga@olga-H270M-DS3H:~/development/rtems-examples$ git submodule init Submodule 'rtems_waf' (git://git.rtems.org/rtems_waf.git) registered for path 'rtems_waf' olga@olga-H270M-DS3H:~/development/rtems-examples$ git submodule update Cloning into '/home/olga/development/rtems-examples/rtems_waf'... Submodule path 'rtems_waf': checked out 'ad0890 4. olga@olga-H270M-DS3H:~/development/rtems-examples$ ./waf configure --rtems=$HOME/development/rtems/5 --rtems-tools=$HOME/development/rtems/5 --rtems-bsps=sparc/erc32 Setting top to : /home/olga/development/rtems-examples Setting out to : /home/olga/development/rtems-examples/build RTEMS path is not valid, "/home/olga/development/rtems/5/share/rtems6" not found. (complete log in /home/olga/development/rtems-examples/build/config.log) 8c452c6a9bbb3bf7bbbcc9fc03fe46cc7f'
As it was suggested by Gedare Bloom before: "We do encourage to try to use waf to build the examples though, so let's focus on that direction." I would really like to understand how to build the examples and later my own apps using waf :) On Wed, 17 Mar 2021 at 22:49, Gedare Bloom <ged...@rtems.org> wrote: > > > On Wed, Mar 17, 2021 at 2:23 PM Olga Syrbachova <syrba4ev...@gmail.com> > wrote: > >> Thank you very much for your reply! I'm still confused about all the >> prefixes and PATHs. In the README.waf it is said to run >> >> $ waf configure --rtems=$HOME/Development/rtems/5 \ >> --rtems-tools=$HOME/Development/rtems/5 \ >> --rtems-bsps=sparc/erc32 >> >> where $HOME/Development/rtems/build/5 is the path to tools and >> $HOME/Development/rtems/build/5 is the path to RTEMS Board Support >> Packages. >> >> I followed this tutorial >> https://medium.com/@mritunjaysharma394/installing-rtems-ecosystem-and-building-your-first-bsp-993d1cf38902 >> installing RTEMS and building BSP. So in my case I built the tool suit in >> development/rtems/src/rsb/rtems >> >> >> $ ../source-builder/sb-set-builder --prefix=$HOME/development/rtems/5 >> 5/rtems-sparc >> >> So the path to tools development/rtems/src/rsb/rtems, is it right? And >> I'm not sure what is a path to RTEMS Board Support Packages. >> > > All paths referenced by README.waf are installed paths, i.e., the prefix > that you used. It looks like that would be $HOME/development/rtems/5 for > your case, for the tools (as passed to sb-set-builder) and for rtems (if > you followed that blog post, it specifies the prefix to configure). > > > > >> >> On Wed, 17 Mar 2021 at 18:48, Gedare Bloom <ged...@rtems.org> wrote: >> >>> >>> >>> On Wed, Mar 17, 2021 at 10:22 AM Olga Syrbachova <syrba4ev...@gmail.com> >>> wrote: >>> >>>> What do you mean "regular README file"? There are 3 of them: README, >>>> README.Makefile and README.waf. In README there is just a list of examples. >>>> I tried to follow the README.Makefile instructions, and after running: >>>> >>> Thanks I forgot we put those instructions into README.Makefile. >>> >>> >>>> >>>> olga@olga-H270M-DS3H:~/development/rtems-examples/hello/hello_world_c$ >>>> RTEMS_MAKEFILE_PATH=${HOME}/development/rtems/5/sparc-rtems5/erc32 make >>>> clean >>>> >>>> and >>>> >>>> olga@olga-H270M-DS3H:~/development/rtems-examples/hello/hello_world_c$ >>>> RTEMS_MAKEFILE_PATH=${HOME}/development/rtems/5/sparc-rtems5/erc32 make >>>> >>>> there appeared an empty folder "o-optimize" in the examples's >>>> directory. What's next? >>>> >>>> Weird, I'll take a look. We do encourage to try to use waf to build the >>> examples though, so let's focus on that direction. >>> >>> >> BTW: This worked for me. If you like, you can show what is the terminal > output from the second line > `RTEMS_MAKEFILE_PATH=${HOME}/development/rtems/5/sparc-rtems5/erc32 make`? > > >> And what do you mean "use ./waf"? When I run ./waf in "rtems-examples", >>>> it says >>>> >>>> olga@olga-H270M-DS3H:~/development/rtems-examples$ ./waf >>>> The project was not configured: run "waf configure" first! >>>> olga@olga-H270M-DS3H:~/development/rtems-examples$ waf configure >>>> --rtems=$HOME/development/rtems/build/5 >>>> \--rtems-tools=$HOME/development/rtems/5 \--rtems-bsps=sparc/erc32 >>>> >>>> >>> ./waf configure --rtems=$HOME/development/rtems/build/5 >>> \--rtems-tools=$HOME/development/rtems/5 \--rtems-bsps=sparc/erc32 >>> ^ >>> >>>> Command 'waf' not found, did you mean: ... >>>> >>>> command 'paf' from deb libpod-abstract-perl >>>> command 'wdf' from deb wit >>>> ... >>>> >>>> On Wed, 17 Mar 2021 at 16:51, Gedare Bloom <ged...@rtems.org> wrote: >>>> >>>>> >>>>> >>>>> On Wed, Mar 17, 2021 at 9:11 AM Olga Syrbachova <syrba4ev...@gmail.com> >>>>> wrote: >>>>> >>>>>> Thanks a lot! I have one more stupid question. How do I run examples >>>>>> from git? I've cloned rtems-examples and tried to follow the instructions >>>>>> from "README.waf", but it doesn't work. When I enter >>>>>> >>>>>> $ waf configure --rtems=$HOME/development/rtems/bsps/5 \ >>>>>> --rtems-tools=$HOME/development/rtems/5 \ >>>>>> --rtems-bsps=sparc/erc32 >>>>>> >>>>>> I get this error: >>>>>> Command 'waf' not found, did you mean: ... >>>>>> >>>>>> Use ./waf >>>>> >>>>> >>>>> >>>>>> I probably do something wrong. Do I need to do the instructions from >>>>>> "README.waf" at all? Or do I need to proceed as in this tutorial >>>>>> https://docs.rtems.org/branches/master/user/start/app.html with every >>>>>> example's directory? I would really appreciate some step-by-step >>>>>> tutorial or instructions as I'm totally frustrated right now and don't >>>>>> understand what to do. >>>>>> >>>>>> Btw there is a makefile in every example's directory. Can I use it >>>>>> instead of waf to compile the applications? If this is the case how do I >>>>>> do it? >>>>>> >>>>>> You can do either way of building the examples, see the regular >>>>> README file for directions on the Makefile approach. >>>>> >>>>> >>>>>> Many thanks in advance for any help!!! >>>>>> >>>>>> >>>>>> On Tue, 16 Mar 2021 at 20:07, Joel Sherrill <j...@rtems.org> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Mar 16, 2021 at 1:40 PM Olga Syrbachova < >>>>>>> syrba4ev...@gmail.com> wrote: >>>>>>> >>>>>>>> Thank you very much for your reply and for your concern! >>>>>>>> >>>>>>>> Actually I'd like to create my own application and test some >>>>>>>> mechanisms, provided by RTEMS. This is a part of my Bachelor Thesis. >>>>>>>> I'd >>>>>>>> like, for example, to create two/three tasks and make them communicate >>>>>>>> with each other via queues, schedule them by priority etc. I have some >>>>>>>> experience with FreeRTOS. It is run via Visual Studio, which is quite >>>>>>>> simple. And now with RTEMS I am a bit frustrated and don't know where >>>>>>>> to >>>>>>>> start. That's why I followed the tutorial on the Website. "Hello World" >>>>>>>> program worked just fine, so I decided to try some more complicated >>>>>>>> applications before I start with my own, that's why I decided to build >>>>>>>> "ticker" with waf. Unfortunately I didn't find any helpful (for me) >>>>>>>> tutorial on how to create applications in RTEMS. I mean I can handle >>>>>>>> writing the App's code, but I don't get it how to compile and run it. >>>>>>>> So I >>>>>>>> was just going to do the same as in the tutorial, but with my own >>>>>>>> application. Is it the right way to proceed or is there another way ? >>>>>>>> >>>>>>> >>>>>>> The tests in RTEMS are just that tests. They depend on things that >>>>>>> shouldn't be installed or used by user applications. >>>>>>> >>>>>>> I would recommend cloning rtems-examples and going from one of >>>>>>> those. There is a directory with variations on ticker and I suspect the >>>>>>> base one is a better one to start from. >>>>>>> >>>>>>> If you want to write POSIX code, one of the POSIX examples there >>>>>>> would serve you ok >>>>>>> >>>>>>> --joel >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> >>>>>>>> Virenfrei. >>>>>>>> www.avast.com >>>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> >>>>>>>> <#m_-4707991134687881431_m_2587329209695249861_m_-6228330996423727151_m_-6868087392309282603_m_-8071420466793372504_m_971219196135651785_m_277508452244861825_m_-8462729502950921950_m_6778778117170402098_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >>>>>>>> >>>>>>>> On Tue, 16 Mar 2021 at 16:29, Vijay Kumar Banerjee <vi...@rtems.org> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> On Tue, Mar 16, 2021 at 4:07 AM Olga Syrbachova < >>>>>>>>> syrba4ev...@gmail.com> wrote: >>>>>>>>> > >>>>>>>>> > Thank you very much for your reply! >>>>>>>>> > >>>>>>>>> > I've added >>>>>>>>> > includes = >>>>>>>>> '/home/olga/development/rtems/rtems-5/testsuites/support/include/tmacros.h', >>>>>>>>> > >>>>>>>>> It takes the relative address to the directory where the header >>>>>>>>> file >>>>>>>>> is. For example, if you're building from the >>>>>>>>> "/home/olga/development/rtems" directory the includes argument >>>>>>>>> would >>>>>>>>> be: >>>>>>>>> >>>>>>>>> `includes = './rtems-5/testsuites/support/include/'` >>>>>>>>> >>>>>>>>> BTW, your first email at the start of the thread says that you just >>>>>>>>> want to run the samples, the samples get built as a part of the >>>>>>>>> rtems >>>>>>>>> and you'll be able to see the *.exe files in the build directory. >>>>>>>>> Is >>>>>>>>> there any reason that you're trying to build it in a separate >>>>>>>>> directory with waf? Experimenting with the build system is a good >>>>>>>>> reason though, just making sure that we're not pushing you in the >>>>>>>>> wrong direction and your objective is indeed to try waf on your own >>>>>>>>> and not just running RTEMS hello app. >>>>>>>>> >>>>>>>>> Best regards, >>>>>>>>> Vijay >>>>>>>>> >>>>>>>>> >>>>>>>>> > it still says "No such file or directory". I'm pretty sure the >>>>>>>>> path is write, though there is now another path to "tmacros.h" (the >>>>>>>>> first >>>>>>>>> one below), it's a folder named "tmacros.h" and it's empty. >>>>>>>>> > olga@olga-H270M-DS3H:~$ locate tmacros.h >>>>>>>>> > >>>>>>>>> /home/olga/development/app/ticker/build/sparc-rtems5-erc32/$HOME/developement/rtems/rtems-5/testsuites/support/include/tmacros.h >>>>>>>>> > >>>>>>>>> /home/olga/development/rtems/rtems-5/testsuites/support/include/tmacros.h >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > On Mon, 15 Mar 2021 at 21:00, Vijay Kumar Banerjee < >>>>>>>>> vi...@rtems.org> wrote: >>>>>>>>> >> >>>>>>>>> >> On Mon, Mar 15, 2021 at 1:53 PM Olga Syrbachova < >>>>>>>>> syrba4ev...@gmail.com> wrote: >>>>>>>>> >> > >>>>>>>>> >> > Sure! https://github.com/syrba4eva/RTEMS/blob/main/wscript >>>>>>>>> >> >>>>>>>>> >> Thanks. In this line: >>>>>>>>> https://github.com/syrba4eva/RTEMS/blob/main/wscript#L33 >>>>>>>>> >> After cflags parameter, add "includes", for example: >>>>>>>>> >> >>>>>>>>> >> bld(features = 'c cprogram', >>>>>>>>> >> target = 'ticker.exe', >>>>>>>>> >> cflags = '-g -O2', >>>>>>>>> >> includes='. .. ./original/path/to/tmacros.h', >>>>>>>>> >> source = ['init.c', 'tasks.c']) >>>>>>>>> >> >>>>>>>>> >> you don't need to copy tmacros.h or any headers from rtems, >>>>>>>>> just add >>>>>>>>> >> the path to includes. >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> Best regards, >>>>>>>>> >> Vijay >>>>>>>>> >> >>>>>>>>> >> > >>>>>>>>> >> > On Mon, 15 Mar 2021 at 20:36, Vijay Kumar Banerjee < >>>>>>>>> vi...@rtems.org> wrote: >>>>>>>>> >> >> >>>>>>>>> >> >> On Mon, Mar 15, 2021 at 1:30 PM Olga Syrbachova < >>>>>>>>> syrba4ev...@gmail.com> wrote: >>>>>>>>> >> >> > >>>>>>>>> >> >> > Thank you very much for your reply! >>>>>>>>> >> >> > Unfortunately I'm still a bit confused and don't quite >>>>>>>>> understand what to do. Where do I need to modify the "include" >>>>>>>>> parameter? >>>>>>>>> In the wscript file from the "hello" example there is no "include" >>>>>>>>> parameter. I also tried to find a tutorial on how to write a wscript, >>>>>>>>> but >>>>>>>>> didn't find any (Could you suggest any please?). So I tried to copy >>>>>>>>> the >>>>>>>>> file "tmacros.h" from testsuites/support/include to app/ticker. Now >>>>>>>>> after >>>>>>>>> running ./waf I get an error, which tells me that "buffer_test_io.h" >>>>>>>>> wasn't >>>>>>>>> found. When I copied it to my app/ticker directory it didn't work and >>>>>>>>> I >>>>>>>>> still have the same error. >>>>>>>>> >> >> > >>>>>>>>> >> >> Would it be possible for you to paste your wscript somewhere >>>>>>>>> (like >>>>>>>>> >> >> gist.github.com) and share it here so that we can have a >>>>>>>>> look and help >>>>>>>>> >> >> you with that? >>>>>>>>> >> >> >>>>>>>>> >> >> Best regards, >>>>>>>>> >> >> Vijay >>>>>>>>> >> >> >>>>>>>>> >> >> > Waf: Entering directory >>>>>>>>> `/home/olga/development/app/ticker/build/sparc-rtems5-erc32' >>>>>>>>> >> >> > [1/3] Compiling tasks.c >>>>>>>>> >> >> > [2/3] Compiling init.c >>>>>>>>> >> >> > In file included from ../../system.h:17:0, >>>>>>>>> >> >> > from ../../init.c:15: >>>>>>>>> >> >> > ../../tmacros.h:32:10: fatal error: buffer_test_io.h: No >>>>>>>>> such file or directory >>>>>>>>> >> >> > #include <buffer_test_io.h> >>>>>>>>> >> >> > ^~~~~~~~~~~~~~~~~~ >>>>>>>>> >> >> > compilation terminated. >>>>>>>>> >> >> > >>>>>>>>> >> >> > In file included from ../../system.h:17:0, >>>>>>>>> >> >> > from ../../tasks.c:22: >>>>>>>>> >> >> > ../../tmacros.h:32:10: fatal error: buffer_test_io.h: No >>>>>>>>> such file or directory >>>>>>>>> >> >> > #include <buffer_test_io.h> >>>>>>>>> >> >> > ^~~~~~~~~~~~~~~~~~ >>>>>>>>> >> >> > compilation terminated. >>>>>>>>> >> >> > >>>>>>>>> >> >> > Waf: Leaving directory >>>>>>>>> `/home/olga/development/app/ticker/build/sparc-rtems5-erc32' >>>>>>>>> >> >> > Build failed >>>>>>>>> >> >> > -> task in 'ticker.exe' failed with exit status 1 (run >>>>>>>>> with -v to display more information) >>>>>>>>> >> >> > -> task in 'ticker.exe' failed with exit status 1 (run >>>>>>>>> with -v to display more information) >>>>>>>>> >> >> > >>>>>>>>> >> >> > On Mon, 15 Mar 2021 at 16:21, Vijay Kumar Banerjee < >>>>>>>>> vi...@rtems.org> wrote: >>>>>>>>> >> >> >> >>>>>>>>> >> >> >> Hi Olga, >>>>>>>>> >> >> >> >>>>>>>>> >> >> >> >>>>>>>>> >> >> >> On Mon, Mar 15, 2021 at 8:29 AM Olga Syrbachova < >>>>>>>>> syrba4ev...@gmail.com> wrote: >>>>>>>>> >> >> >> > >>>>>>>>> >> >> >> > Thank you very much for your reply! >>>>>>>>> >> >> >> > >>>>>>>>> >> >> >> > I've built the RTEMS Kernel for erc32. Then I followed >>>>>>>>> this tutorial >>>>>>>>> https://docs.rtems.org/branches/master/user/start/app.html to >>>>>>>>> build a "Hello World" application and it works just fine. Then I've >>>>>>>>> tried >>>>>>>>> to create another application following the steps in the tutorial. >>>>>>>>> >> >> >> > 1. In $HOME/development/app/ I created a directory >>>>>>>>> "ticker". >>>>>>>>> >> >> >> > 2. cd ticker >>>>>>>>> >> >> >> > 3. curl https://waf.io/waf-2.0.19 > waf >>>>>>>>> >> >> >> > chmod +x waf >>>>>>>>> >> >> >> > git init >>>>>>>>> >> >> >> > git submodule add git://git.rtems.org/rtems_waf.git >>>>>>>>> rtems_waf >>>>>>>>> >> >> >> > 4. I've copied the files "init.c", "tasks.c", >>>>>>>>> "system.h" from testsuites/samples >>>>>>>>> >> >> >> > 5. In the "wscript" I've changed the lines 32 and 34 to >>>>>>>>> target = 'ticker.exe', source = ['init.c', 'tasks.c'] >>>>>>>>> >> >> >> > 6. ./waf configure --rtems=$HOME/development/rtems/5 >>>>>>>>> --rtems-bsp=sparc/erc32 >>>>>>>>> >> >> >> > 7. and running ./waf next, I get an error. It looks >>>>>>>>> like the file "tmacros.h", which is included in "system.h", cannot be >>>>>>>>> found. >>>>>>>>> >> >> >> > >>>>>>>>> >> >> >> You have changed the "target" and "source" parameters in >>>>>>>>> your wscript. >>>>>>>>> >> >> >> You'd also need to modify the "include" parameter and add >>>>>>>>> relative >>>>>>>>> >> >> >> path to tmacros.h. For multiple headers, you'll have to >>>>>>>>> add the paths >>>>>>>>> >> >> >> as a string with space-separated values or a list like >>>>>>>>> this: >>>>>>>>> >> >> >> `includes='./ ../ ./path/to/include/'` >>>>>>>>> >> >> >> >>>>>>>>> >> >> >> >>>>>>>>> >> >> >> > What am I doing wrong? Is the way to run other examples >>>>>>>>> exactly the same as to run a "Hello World" example? >>>>>>>>> >> >> >> The other examples will also follow a similar wscript >>>>>>>>> structure but >>>>>>>>> >> >> >> hello world is the simple one with fewer includes so it's >>>>>>>>> a good place >>>>>>>>> >> >> >> to start if you're trying to learn how to make a separate >>>>>>>>> project with >>>>>>>>> >> >> >> RTEMS applications using waf. >>>>>>>>> >> >> >> >>>>>>>>> >> >> >> >>>>>>>>> >> >> >> Best regards, >>>>>>>>> >> >> >> Vijay >>>>>>>>> >> >> >> > _______________________________________________ >>>>>>>>> >> >> >> > users mailing list >>>>>>>>> >> >> >> > users@rtems.org >>>>>>>>> >> >> >> > http://lists.rtems.org/mailman/listinfo/users >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> >>>>>>>> Virenfrei. >>>>>>>> www.avast.com >>>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> >>>>>>>> <#m_-4707991134687881431_m_2587329209695249861_m_-6228330996423727151_m_-6868087392309282603_m_-8071420466793372504_m_971219196135651785_m_277508452244861825_m_-8462729502950921950_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >>>>>>>> _______________________________________________ >>>>>>>> users mailing list >>>>>>>> users@rtems.org >>>>>>>> http://lists.rtems.org/mailman/listinfo/users >>>>>>> >>>>>>> _______________________________________________ >>>>>> users mailing list >>>>>> users@rtems.org >>>>>> http://lists.rtems.org/mailman/listinfo/users >>>>> >>>>>
_______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users