Attempting to build an app for Beaglebone

Angelo Fraietta newsgroups at smartcontroller.com.au
Fri Jul 3 01:54:30 UTC 2015


I have it compiled now. I went back to the original instructions and did a
rebuild of rtems with the install. I then set RTEMS_MAKEFILE_PATH
*export RTEMS_MAKEFILE_PATH=/opt/rtems-4.11/arm-rtems4.11/beagleboneblack/*

and then the make of the app worked.

I now have something I can work

On Thu, Jul 2, 2015 at 11:27 AM, Angelo Fraietta <
newsgroups at smartcontroller.com.au> wrote:

> Thanks - Needed to be first.
>
> However, I modified command to do
> CONSOLE_POLLED=1 ../rtems-src/configure --target=arm-rtems4.11
> --enable-rtemsbsp=beagleboneblack --enable-tests --prefix=/opt/rtems-4.11
>
> I had to do
> make
> and then
> make install
>
> during the install I got
>  /bin/mkdir -p '/opt/rtems-4.11/arm-rtems4.11/beagleboneblack/lib'
>  /usr/bin/install -c -m 644  libnfs.a
> '/opt/rtems-4.11/arm-rtems4.11/beagleboneblack/lib'
>  ( cd '/opt/rtems-4.11/arm-rtems4.11/beagleboneblack/lib' &&
> arm-rtems4.11-ranlib libnfs.a )
> /bin/bash: line 5: arm-rtems4.11-ranlib: command not found
> make[6]: *** [install-project_libLIBRARIES] Error 127
> make[6]: Leaving directory
> `/home/angelo/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack/cpukit/libfs/src/nfsclie
>                                  nt'
> make[5]: *** [install-am] Error 2
> make[5]: Leaving directory
> `/home/angelo/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack/cpukit/libfs/src/nfsclie
>                                  nt'
> make[4]: *** [install-recursive] Error 1
> make[4]: Leaving directory
> `/home/angelo/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack/cpukit/libfs'
> make[3]: *** [install-recursive] Error 1
> make[3]: Leaving directory
> `/home/angelo/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack/cpukit'
> make[2]: *** [install-recursive] Error 1
> make[2]: Leaving directory
> `/home/angelo/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack'
> make[1]: *** [install-recursive] Error 1
> make[1]: Leaving directory
> `/home/angelo/development/rtems/b-beagle/arm-rtems4.11/c'
> make: *** [install-recursive] Error 1
>
> however, I ran arm-rtems4.11-ranlib from commandline and it was in the path
>
> angelo at debian:~/development/rtems/b-beagle$ arm-rtems4.11-ranlib
> Usage: arm-rtems4.11-ranlib [options] archive
>  Generate an index to speed access to archives
>  The options are:
>   @<file>                      Read options from <file>
>   -D                           Use zero for symbol map timestamp (default)
>   -U                           Use an actual symbol map timestamp
>   -t                           Update the archive's symbol map timestamp
>   -h --help                    Print this help message
>   -v --version                 Print version information
> arm-rtems4.11-ranlib: supported targets: elf32-littlearm elf32-bigarm
> elf32-little elf32-big srec symbolsrec verilog tekhex binary ihex
> angelo at debian:~/development/rtems/b-beagle$
>
>
>
>
> On Thu, Jul 2, 2015 at 10:09 AM, Ben Gras <beng at shrike-systems.com> wrote:
>
>> That is likely a $PATH problem. Make sure your RTEMS prefix/bin is
>> first in your $PATH when you do this.
>>
>> Good luck :)
>>
>>
>> On Thu, Jul 2, 2015 at 1:51 AM, Angelo Fraietta
>> <newsgroups at smartcontroller.com.au> wrote:
>> > I thought I would try and rebuild sources again, however, I got an error
>> > that autoconf version 2.69 or greater was required when I tried to
>> > bootstrap.  I don't know why it all passed last time. I am updating my
>> > system and after that will try again
>> >
>> > On Thu, Jul 2, 2015 at 9:25 AM, Angelo Fraietta
>> > <newsgroups at smartcontroller.com.au> wrote:
>> >>
>> >> I followed Ben's tutorial.
>> >>
>> >>  % ../source-builder/sb-set-builder --log=beagle.txt
>> >> --prefix=$HOME/development/rtems/4.11 devel/beagle.bset
>> >>
>> >> and
>> >>
>> >>  % mkdir b-beagle ; cd b-beagle
>> >>     % CONSOLE_POLLED=1 ../rtems-src/configure --target=arm-rtems4.11
>> >> --enable-rtemsbsp="beagleboneblack beagleboardxm" --enable-tests
>> >>     % make
>> >>
>> >>
>> >> I have done a grep for that file and it comes up like this
>> >>
>> >> angelo at debian:~/development$ find -name leaf.cfg
>> >> ./rtems/b-beagle/arm-rtems4.11/c/beagleboardxm/make/leaf.cfg
>> >> ./rtems/b-beagle/arm-rtems4.11/c/beagleboneblack/make/leaf.cfg
>> >> ./rtems/rtems-src/make/leaf.cfg
>> >> ./rtems/rtems-src/c/src/make/leaf.cfg
>> >>
>> >> So I decided to do a symlink
>> >> root at debian:/opt# ln -s
>> >> /home/angelo/development/rtems/b-beagle/arm-rtems4.11/c/
>> >> beagleboneblack/ /opt/rtems-4.11
>> >>
>> >> Now when I go make, I get the error
>> >> make: *** No rule to make target `/init.o', needed by `/gpio.exe'.
>> Stop.
>> >>
>> >> So it seems that ARCH is not being defined somewhere that it needs to
>> be.
>> >> So making the symlink is not the solution.
>> >> Also, looking at RTEMS doc,
>> >> https://docs.rtems.org/doc-current/share/rtems/pdf/started.pdf, it
>> said it
>> >> was supposed to install to /opt/rtems-4.11 by default, which it did
>> not.
>> >>
>> >>
>> >> On Thu, Jul 2, 2015 at 6:58 AM, Diego Sanz <dshernan80 at gmail.com>
>> wrote:
>> >>>
>> >>> One question, this Makefile has been made by you?, or you has used
>> >>> another one from an example of building applications?
>> >>>
>> >>> What is strange from my point of view is that:
>> >>>
>> >>> your "RTEMS_MAKEFILE_PATH:
>> >>>
>> /home/angelo/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack/make/"
>> >>> includes the last make folder try with:
>> >>> RTEMS_MAKEFILE_PATH:
>> >>>
>> /home/angelo/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack, I
>> >>> suppose that that this is where you have installed your RTEMS built
>> for
>> >>> architecture arm-rtems4.11, and board beagleboneblack...
>> >>>
>> >>> another problem is that you have as a target not found
>> >>> /opt/rtems-4.11/make/leaf.cfg, and then is because you have RTEMS
>> installed
>> >>> in other place, it looks you have installed here:
>> >>> /home/angelo/development/rtems/b-beagle/arm-rtems4.11.
>> >>>
>> >>> Then
>> >>>
>> >>> RTEMS_MAKEFILE_PATH should be the place where RTEMS (after be
>> compiled)
>> >>> is installed for your architecture arm and beagleboneblack
>> >>>
>> >>> Hope this give you some ide, but if you continue with the problem,
>> take
>> >>> as example the example-v2 from the RTEMs repo, to make you a better
>> idea
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> 2015-06-30 6:45 GMT+02:00 Angelo Fraietta
>> >>> <newsgroups at smartcontroller.com.au>:
>> >>>>
>> >>>> To add a bit more light on what is happening, I added some echo in
>> make
>> >>>> to find out what the variables are being evaluated as. This is what
>> I get
>> >>>>
>> >>>>
>> >>>> RTEMS_ROOT: /opt/rtems-4.11
>> >>>> RTEMS_CUSTOM: /opt/rtems-4.11/make/custom/beagleboneblack.cfg
>> >>>> RTEMS_MAKEFILE_PATH:
>> >>>>
>> /home/angelo/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack/make/
>> >>>>
>> >>>>
>> >>>> On Mon, Jun 29, 2015 at 2:18 PM, Angelo Fraietta
>> >>>> <newsgroups at smartcontroller.com.au> wrote:
>> >>>>>
>> >>>>> Greetings
>> >>>>>
>> >>>>> I have been able to successfully able to build and run RTEMS samples
>> >>>>> using Ben's tutorial at
>> >>>>>
>> >>>>>
>> http://www.shrike-systems.com/beagleboard-xm-beaglebone-black-and-everything-else-rtems-on-the-beagles.html
>> >>>>>
>> >>>>> with a few mods and am able to run using tftp
>> >>>>>
>> >>>>> However, I am having difficulty using my own make file to build an
>> app.
>> >>>>>
>> >>>>> I have added RTEMS_MAKEFILE_PATH to my environment and added
>> >>>>>
>> >>>>> PATH=$PATH:/home/angelo/development/rtems/4.11/bin
>> >>>>>
>> >>>>>
>> >>>>> When I run my makefile, I get an error
>> >>>>>
>> >>>>> Makefile:41: /opt/rtems-4.11/make/leaf.cfg: No such file or
>> directory
>> >>>>>
>> >>>>> make: *** No rule to make target `/opt/rtems-4.11/make/leaf.cfg'.
>> >>>>> Stop.
>> >>>>>
>> >>>>> It looks to me like RTEMS_ROOT is not being set properly (I could be
>> >>>>> wrong)
>> >>>>>
>> >>>>> Find below makefile contents
>> >>>>>
>> >>>>> EXEC=gpio.exe
>> >>>>> # C source names, if any, go here -- minus the .c
>> >>>>> C_PIECES= init
>> >>>>> C_FILES=$(C_PIECES:%=%.c)
>> >>>>> C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
>> >>>>>
>> >>>>> # C++ source names, if any, go here -- minus the .cc
>> >>>>> CC_PIECES=
>> >>>>>
>> >>>>> CC_FILES=$(CC_PIECES:%=%.cpp)
>> >>>>> CC_O_FILES=$(CC_PIECES:%=${ARCH}/%.o)
>> >>>>>
>> >>>>> H_FILES=
>> >>>>>
>> >>>>> # Assembly source names, if any, go here -- minus the .S
>> >>>>> S_PIECES=
>> >>>>> S_FILES=$(S_PIECES:%=%.S)
>> >>>>> S_O_FILES=$(S_FILES:%.S=${ARCH}/%.o)
>> >>>>>
>> >>>>> SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
>> >>>>> OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
>> >>>>>
>> >>>>> PGMS=${ARCH}/$(EXEC) #${ARCH}/xxx-another-one
>> >>>>>
>> >>>>> # List of RTEMS managers to be included in the application goes
>> here.
>> >>>>> # Use:
>> >>>>> #     MANAGERS=all
>> >>>>> # to include all RTEMS managers in the application.
>> >>>>> MANAGERS=io event message rate_monotonic semaphore timer
>> >>>>>
>> >>>>> include $(RTEMS_MAKEFILE_PATH)/Makefile.inc
>> >>>>>
>> >>>>> include $(RTEMS_CUSTOM)
>> >>>>> include $(RTEMS_ROOT)/make/leaf.cfg
>> >>>>>
>> >>>>> #
>> >>>>> # (OPTIONAL) Add local stuff here using +=
>> >>>>> #
>> >>>>>
>> >>>>> DEFINES  +=
>> >>>>> CPPFLAGS +=
>> >>>>>
>> >>>>> XCPPFLAGS +=
>> >>>>> CFLAGS   +=
>> >>>>>
>> >>>>> #
>> >>>>> # CFLAGS_DEBUG_V are used when the `make debug' target is built.
>> >>>>> # To link your application with the non-optimized RTEMS routines,
>> >>>>> # uncomment the following line:
>> >>>>> # CFLAGS_DEBUG_V += -qrtems_debug
>> >>>>> #
>> >>>>>
>> >>>>> LD_PATHS  +=  #xxx-your-EXTRA-library-paths-go-here, if any
>> >>>>>
>> >>>>> LD_LIBS   +=
>> >>>>> # Add the following code when attempting to strip down in size
>> >>>>> #LDFLAGS   += -Wl,'-gc-sections'
>> >>>>>
>> >>>>> #
>> >>>>> # Add your list of files to delete here.  The config files
>> >>>>> #  already know how to delete some stuff, so you may want
>> >>>>> #  to just run 'make clean' first to see what gets missed.
>> >>>>> #  'make clobber' already includes 'make clean'
>> >>>>> #
>> >>>>>
>> >>>>> CLEAN_ADDITIONS +=
>> >>>>> CLOBBER_ADDITIONS +=
>> >>>>>
>> >>>>> all: ${ARCH} $(SRCS) $(PGMS)
>> >>>>>
>> >>>>> ${ARCH}/$(EXEC): ${OBJS} ${LINK_FILES}
>> >>>>> $(make-cxx-exe)
>> >>>>>
>> >>>>> # Install the program(s), appending _g or _p as appropriate.
>> >>>>> # for include files, just use $(INSTALL_CHANGE)
>> >>>>> install:  all
>> >>>>> $(INSTALL_VARIANT) -m 555 ${PGMS} ${PROJECT_RELEASE}/bin
>> >>>>>
>> >>>>>
>> >>>>> Any ideas?
>> >>>>>
>> >>>>> Thanks
>> >>>>
>> >>>>
>> >>>>
>> >>>> _______________________________________________
>> >>>> users mailing list
>> >>>> users at rtems.org
>> >>>> http://lists.rtems.org/mailman/listinfo/users
>> >>>
>> >>>
>> >>
>> >
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20150703/0c8c15b1/attachment-0002.html>


More information about the users mailing list