Boost logo

Boost-Build :

Subject: Re: [Boost-build] boost for arm embedded system
From: Vladimir Prus (ghost_at_[hidden])
Date: 2011-02-20 02:46:45


On Saturday, February 19, 2011 23:11:31 David C Liebman wrote:
> On 02/19/2011 07:37 AM, Jürgen Hunold wrote:
> > Hi David,
> >
> > On Saturday, 19. February 2011 13:09:37 David C Liebman wrote:
> >> this is my user-config.jam :
> >>
> >> using gcc : 4.5.1 :
> >> /home/dave/bin/sourcery/bin/arm-none-linux-gnueabi-g++ ;
> >>
> >> this is my command line:
> >>
> >> ./bjam --toolset=arm-none-linux-gnueabi-g++
> >> --prefix=/home/dave/workspace/urbi_arm_source/boost_1_45_0/_build
> >> --debug-configuration install
> >
> > This should be
> >
> > ./bjam toolset=gcc-arm-none-linux-gnueabi-g++ ...
> >
> > because this is only a special gcc version. And no "--" on toolset. You
> > should even be able to omit "toolset=" and just invoke bjam
> > gcc-arm-none-linux- gnueabi-g++
> >
> > Yours,
> >
> > Jürgen
>
> I think I was too hasty before. This is exactly what I'm trying. The
> command line is this:
>
> $ ./bjam toolset=arm-none-linux-gnueabi-g++
> --prefix=/home/dave/workspace/urbi_ardrone_source/boost_1_45_0/
> --debug-configuration install
>
> I get two kinds of output, regular output and error output. This is the
> error output.
>
> ...clip...
> arm.jam: No such file or directory
> ...end clip...
>
> Then, this is the regular output.
>
> ...clip...
> notice: found boost-build.jam at
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/boost-build.jam
> notice: loading Boost.Build from
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2
> notice: Searching /etc /home/dave
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2
> /usr/share/boost-build
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/kernel
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/util
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/build
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/tools
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/contr
> ib /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/.
> for site-config configuration file site-config.jam .
> notice: Loading site-config configuration file site-config.jam from
> /etc/site-config.jam .
> notice: will use 'g++' for gcc, condition <toolset>gcc-4.4.5
> notice: using gcc libraries :: <toolset>gcc-4.4.5 :: /usr/bin /usr/lib
> /usr/lib32 /usr/lib64
> notice: using gcc archiver :: <toolset>gcc-4.4.5 :: /usr/bin/ar
> notice: using gcc ranlib :: <toolset>gcc-4.4.5 :: /usr/bin/ranlib
> warning: toolset gcc initialization: can not find tool windres
> warning: initialized from
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/build/
> project.jam:881 notice: using rc compiler :: <toolset>gcc-4.4.5 ::
> /usr/bin/as
> notice: Searching /home/dave
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2
> /usr/share/boost-build
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/kernel
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/util
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/build
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/tools
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/contr
> ib /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/.
> for user-config configuration file user-config.jam .
> notice: Loading user-config configuration file user-config.jam from
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/user-c
> onfig.jam .
> notice: Searching for project-config configuration file
> project-config.jam .
> notice: Loading project-config configuration file project-config.jam
> from project-config.jam .
> notice: [python-cfg] Configuring python...
> notice: [python-cfg] user-specified version: "2.6"
> notice: [python-cfg] user-specified cmd-or-prefix: "/usr"
> notice: [python-cfg] Checking interpreter command "/usr/bin/python2.6"...
> notice: [python-cfg] running command '"/usr/bin/python2.6" -c "from sys
> import *;
> print('version=%d.%d\nplatform=%s\nprefix=%s\nexec_prefix=%s\nexecutable=%s
> ' %
> (version_info[0],version_info[1],platform,prefix,exec_prefix,executable))"
> 2>&1'
> notice: [python-cfg] ...requested configuration matched!
> notice: [python-cfg] Details of this Python configuration:
> notice: [python-cfg] interpreter command: "/usr/bin/python2.6"
> notice: [python-cfg] include path: "/usr/include/python2.6"
> notice: [python-cfg] library path: "/usr/lib/python2.6/config" "/usr/lib"
> notice: [cmdline-cfg] Detected command-line request for
> arm-none-linux-gnueabi-g++: toolset= arm version= none-linux-gnueabi-g++
> notice: [cmdline-cfg] toolset arm-none-linux-gnueabi-g++ not previously
> configured; attempting to auto-configure now
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/build/
> toolset.jam:38: in toolset.using
> rule arm.init unknown in module toolset.
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/build-
> system.jam:481: in process-explicit-toolset-requests
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/build-
> system.jam:561: in load
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/kernel
> /modules.jam:283: in import
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/kernel
> /bootstrap.jam:142: in boost-build
> /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/boost-build.jam:17:
> in module scope
> ...end clip...
>
> at this point I get the command prompt back again. If I change the
> command line to the following with 'toolset=' removed:
>
> $ ./bjam arm-none-linux-gnueabi-g++
> --prefix=/home/dave/workspace/urbi_ardrone_source/boost_1_45_0/
> --debug-configuration install
>
> boost compiles with regular gcc. It says:
>
> ..clip...
> notice: will use 'g++' for gcc, condition <toolset>gcc-4.4.5
> ...later...
> notice: could not find main target arm-none-linux-gnueabi-g++
> notice: assuming it is a name of file to create.
> ...end clip...
>
> Any help would be greatly appreciated.

First, as I've said before you have to have

        toolset=gcc

Neither

        toolset=arm

nor saying "arm-none-linux-gnueabi-g++" is not going to work.

Second, the above log say /home/dave/workspace/urbi_ardrone_source/boost_1_45_0/tools/build/v2/user-
config.jam is loaded. Is that the user-config.jam you have modified? It's probably not. Are you
sure your modified user-config.jam is in $HOME?

Third, once you have user-config.jam that is loaded and contains what you have posted before,
just do:

        ./bjam toolset=gcc-4.5.1 --prefix=/home/dave/workspace/urbi_ardrone_source/boost_1_45_0/
                --debug-configuration install

Let me stress that this is the command that you should try. Any other spellings will not work.

- Volodya

-- 
Vladimir Prus
http://vladimir_prus.blogspot.com
Boost.Build: http://boost.org/boost-build2

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk