building example programs

Joel Sherrill joel.sherrill at oarcorp.com
Sun Feb 22 15:34:48 UTC 2015



On February 22, 2015 10:29:38 AM EST, Andrew Harris <andrew.unit at gmail.com> wrote:
>Hi Gedare,
>
>That worked, thanks.  I was then able to get the "waf configure" step
>to work in the examples-v2 directory by using the following line: 
>
>~/development/rtems/rtems-tools/waf configure
>--rtems=$HOME/development/rtems/just_a_test
>--rtems-tools=$HOME/development/rtems/4.11
>--rtems-bsps=arm/beagleboneblack
>
>And the waf configure seems to have worked.  However, when I try to run
>the "waf" step to build everything in examples-v2, it gets really far,
>but stops on step 96 of 116 with a linker error.  Does this error look
>like a configuration problem or is it something that might be just
>wrong with one of the examples which I should just skip over?  One
>wierd thing I noticed was that the "hello-deep.c" file that it was
>talking about is a filename with an initial space which threw me for a
>loop for a minute!

I think this may be a recent modification of a simple example to show off the trace linker. There is a PR I think to revert that change.

Did fixing the space let it continue?


>-andrew
>
>
>...
>[ 95/116] cprogram:
>build/arm-rtems4.11-beagleboneblack/posix_api/psx_sched_report/test.c.1.o
>->
>build/arm-rtems4.11-beagleboneblack/posix_api/psx_sched_report/psx_sched_report.exe
>[ 96/116] cprogram:
>build/arm-rtems4.11-beagleboneblack/led/event_server/init.c.1.o ->
>build/arm-rtems4.11-beagleboneblack/led/event_server/event_server.exe
>/home/andrewha/development/rtems/4.11/bin/arm-rtems4.11-gcc: 
>hello-deep.o: In function `__wrap_Init':
>/home/andrewha/development/rtems/4.11/bin/arm-rtems4.11-gcc:
>/home/andrewha/development/examples-v2/build/arm-rtems4.11-beagleboneblack/
>hello-deep.c:78: undefined reference to `Init'
>/home/andrewha/development/rtems/4.11/bin/arm-rtems4.11-gcc: collect2:
>error: ld returned 1 exit status
>error: linking: Linker error
>Waf: Leaving directory
>`/home/andrewha/development/examples-v2/build/arm-rtems4.11-beagleboneblack'
>Build failed
> -> task in 'hello-deep.texe' failed (exit status 10): 
>    {task 140274785055824: rtrace test.c.2.o -> hello-deep.texe}
>['/home/andrewha/development/rtems/4.11/bin/rtems-tld', '-W
>hello-deep', '-C', '../../hello/both_hello/hello-deep.ini', '-r',
>'/home/andrewha/development/rtems/just_a_test', '-B',
>'arm/beagleboneblack', '-c',
>'/home/andrewha/development/rtems/4.11/bin/arm-rtems4.11-gcc', '-l',
>'/home/andrewha/development/rtems/4.11/bin/arm-rtems4.11-gcc', '--',
>'hello/both_hello/test.c.2.o', '-qrtems',
>'-B/home/andrewha/development/rtems/just_a_test/arm-rtems4.11/lib/',
>'-B/home/andrewha/development/rtems/just_a_test/arm-rtems4.11/beagleboneblack/lib/',
>'--specs', 'bsp_specs', '-mcpu=cortex-a8', '-mcpu=cortex-a8', '-o',
>'/home/andrewha/development/examples-v2/build/arm-rtems4.11-beagleboneblack/hello/both_hello/hello-deep.texe',
>'-Wl,-Bstatic']
>
>
>On Sun, Feb 22, 2015 at 9:29 AM, Gedare Bloom <gedare at rtems.org> wrote:
>
>Andrew,
>
>You probably need to rm -r b-beagle and redo everything from there.
>The old build is probably still in place and being used. (In theory,
>make distclean in b-beagle should work too. But rm is a more certain
>way to clean.)
>
>Gedare
>
>
>On Sat, Feb 21, 2015 at 3:27 PM, Andrew Harris <andrew.unit at gmail.com>
>wrote:
>> Hi Joel,
>>
>>    Thanks for the response, I don't think I see anything wrong with
>the
>> typing.  When I run the configure line I mentioned, and then do make
>> install, I actually get a bin/ directory in the "just_a_test"
>directory that
>> I set as the prefix, and it has the following files in it:
>> "arm-rtems4.11-difftest  arm-rtems4.11-sorttimes  cklength  eolstrip
>> install-if-change  packhex  rtems-bin2c  unhex".  It's not until it
>gets to
>> the beagleboneblack step that it seems the prefix isn't propagated.
>>
>> -andrew
>>
>>
>> On Sat, Feb 21, 2015 at 3:14 PM, Joel Sherrill
><joel.sherrill at oarcorp.com>
>> wrote:
>>>
>>>
>>>
>>> On February 21, 2015 2:02:52 PM CST, Andrew Harris
><andrew.unit at gmail.com>
>>> wrote:
>>> >Hi Gedare,
>>> >
>>> >Thanks for the suggestion, I think I understand what you're saying.
> I
>>> >went back to the article, and made a slight modification to the
>>> >configure line that was specified; I added a prefix ("just_a_test")
>to
>>> >see what would happen when I did a make install:
>>> >
>>> >CONSOLE_POLLED=1 ../rtems-src/configure --target=arm-rtems4.11
>>> >--enable-rtemsbsp="beagleboneblack" --enable-tests
>>> >--prefix=$HOME/development/rtems/just_a_test
>>> >
>>> >It got pretty far, but I found that there must be an error in one
>of
>>> >the configuration steps below this call, because it looks like the
>>> >prefix I specified didn't make it all the way down to the BSP,
>where it
>>> >is still apparently trying to install into /opt/rtems-4.11:
>>>
>>> Double check the typing on the --prefix option. The configure script
>is
>>> acting like it wasn't provided.
>>>
>>>
>>> >Making install in beagleboneblack
>>> >make[2]: Entering directory
>>>
>>`/home/andrew/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack'
>>> >Making install in .
>>> >make[3]: Entering directory
>>>
>>`/home/andrew/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack'
>>> >make[4]: Entering directory
>>>
>>`/home/andrew/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack'
>>> >make[4]: Nothing to be done for `install-exec-am'.
>>> > /bin/mkdir -p '/opt/rtems-4.11/lib/pkgconfig'
>>> >/bin/mkdir: cannot create directory ‘/opt/rtems-4.11’: Permission
>>> >denied
>>> >make[4]: *** [install-pkgconfigDATA] Error 1
>>> >make[4]: Leaving directory
>>>
>>`/home/andrew/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack'
>>> >make[3]: *** [install-am] Error 2
>>> >make[3]: Leaving directory
>>>
>>`/home/andrew/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack'
>>> >make[2]: *** [install-recursive] Error 1
>>> >make[2]: Leaving directory
>>>
>>`/home/andrew/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack'
>>> >make[1]: *** [install-recursive] Error 1
>>> >make[1]: Leaving directory
>>> >`/home/andrew/development/rtems/b-beagle/arm-rtems4.11/c'
>>> >make: *** [install-recursive] Error 1
>>> >
>>> >So I'm stuck again; I'm not sure where to look to try to find where
>the
>>> >prefix argument isn't handed off correctly.
>>> >
>>> >
>>> >-andrew
>>> >
>>> >
>>> >
>>> >
>>> >On Sat, Feb 21, 2015 at 2:20 PM, Gedare Bloom <gedare at rtems.org>
>wrote:
>>> >
>>> >Hi Andrew,
>>> >
>>> >Have you installed the compiled RTEMS and BSPs via "make install"
>e.g.
>>> >in your ~/development/rtems/b-beagle directory?
>>> >
>>> >The waf script will only find BSPs that are installed in the
>directory
>>> >you tell it to look e.g. ~/development/rtems/4.11
>>> >
>>> >Gedare
>>> >
>>> >
>>> >On Sat, Feb 21, 2015 at 9:48 AM, Andrew Harris
><andrew.unit at gmail.com>
>>> >wrote:
>>> >> Hello,
>>> >>
>>> >>    Thanks for the useful information.  I'm still having a heck of
>a
>>> >time
>>> >> getting the examples to build.  I can't seem to get my "waf
>>> >configure" line
>>> >> to work out.  I got RTEMS working from the nice article on this
>site:
>>> >>
>>> >>
>>>
>>> >
>>http://www.shrike-systems.com/beagleboard-xm-beaglebone-black-and-everything-else-rtems-on-the-beagles.html
>>> >>
>>> >> But I fear I don't understand now how to specify the waf
>configure
>>> >line.
>>> >> I've got it so that it doesn't complain about the RTEMS path, nor
>>> >does it
>>> >> complain about the RTEMS tools path:
>>> >>
>>> >> ~/development/rtems/rtems-tools/waf configure
>>> >> --rtems=$HOME/development/rtems/4.11
>>> >> --rtems-tools=$HOME/development/rtems/4.11
>>> >>
>>> >> But I can't seem to figure out how to tell it to use the
>>> >beagleboneblack
>>> >> BSP.  I have added some print statements into the rtems.py file
>which
>>> >I
>>> >> believe is used by the waf build system and it doesn't seem to
>see
>>> >any bsps
>>> >> at all in the paths I've specified above.
>>> >>
>>> >> However, from the website article, it seems to build in such a
>way as
>>> >to
>>> >> create a b-beagle directory, and deep inside that directory I do
>see
>>> >a
>>> >> directory that contains a ".pc" file, which I presume is a key
>file
>>> >for the
>>> >> BSP:
>>> >>
>>> >>
>>>
>>> >
>>development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack/arm-rtems4.11-beagleboneblack.pc
>>> >>
>>> >> But I can't seem to figure out how to combine this knowledge with
>the
>>> >> directories that are required for the waf configure step.
>>> >>
>>> >> Has anyone gotten stuck here before?  If so, any help would be
>>> >appreciated!
>>> >>
>>> >> thanks,
>>> >> -andrew
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> On Wed, Feb 18, 2015 at 9:02 AM, Gedare Bloom <gedare at rtems.org>
>>> >wrote:
>>> >>>
>>> >>> Hi Andrew,
>>> >>>
>>> >>> The examples located in testsuites are intended to be compiled
>with
>>> >>> RTEMS and will not work by copying them elsewhere. For compiling
>an
>>> >>> application, you should have a look at the examples-v2.git
>>> >repository
>>> >>> [1]. That should have more info about using RTEMS_MAKEFILE_PATH,
>and
>>> >>> also has a newer approach to compiling applications for RTEMS
>that
>>> >>> uses the Waf build system. I highly recommend checking out the
>>> >>> waf-based approach to compiling applications as it has some
>great
>>> >>> features, albeit at a slight learning curve.
>>> >>>
>>> >>> Gedare
>>> >>>
>>> >>> [1] https://git.rtems.org/examples-v2/
>>> >>>
>>> >>> On Tue, Feb 17, 2015 at 8:16 PM, Andrew Harris
>>> ><andrew.unit at gmail.com>
>>> >>> wrote:
>>> >>> > Hello,  I'm trying to figure out how to start a new RTEMS
>>> >application.
>>> >>> > I
>>> >>> > thought I would start by looking at the ticker example.  I
>copied
>>> >the
>>> >>> > ticker
>>> >>> > example but I am not sure how to compile it.  I am not an
>expert
>>> >in
>>> >>> > autoconf/automake and could use some assistance on how to get
>>> >started.
>>> >>> > I
>>> >>> > think I figured out how to configure my RTEMS_MAKEFILE_PATH
>>> >variable,
>>> >>> > but
>>> >>> > the only two files in the ticker example are Makefile.am and
>>> >>> > Makefile.in,
>>> >>> > and I don't know what to do next to build it.  Any help would
>be
>>> >>> > appreciated!
>>> >>> >
>>> >>> > -andrew
>>> >>> >
>>> >>> > _______________________________________________
>>> >>> > users mailing list
>>> >>> > users at rtems.org
>>> >>> > http://lists.rtems.org/mailman/listinfo/users
>>> >>
>>> >>
>>> >>
>>> >> _______________________________________________
>>> >> users mailing list
>>> >> users at rtems.org
>>> >> http://lists.rtems.org/mailman/listinfo/users
>>>
>>> --joel
>>
>>

--joel


More information about the users mailing list