[boost] [arm] Building for ARM
Hello, I wonder, has anyone built Boost for ARM? Specifically, we've got an ARM5 for which I want to use Boost for many of those features, a key one is Spirit2 for at least one domain-specific-language (DSL) exposure, possibly two or three. That I can say, we're working with Mentor Graphics, Code Sourcery Code Bench for ARM for the moment. I think they've got current GCC language support through 4.7.2 if it matters. My only questions are, how feasible a cross compile is Boost? Does the inclusion and linkage go about as smoothly as for any other ARM-destined output? Thanks much in advance. Regards, Michael Powell
Hi, On 03/16/13 02:24, Michael Powell wrote: > Hello, > > I wonder, has anyone built Boost for ARM? > > Specifically, we've got an ARM5 for which I want to use Boost for many > of those features, a key one is Spirit2 for at least one > domain-specific-language (DSL) exposure, possibly two or three. I've built Boost for Android (i.e. ARM6), and I'm far from the only one - I've started from https://github.com/MysticTreeGames/Boost-for-Android , which is for an old version of Boost, but the general approach of keeping a set of patches removing problematic functionality (Android doesn't have full standard C++ library - no wide strings, no locales etc. - so parts of Boost depending on that have to be cut out) and extending Boost.Build with an Android target works across versions. > That I can say, we're working with Mentor Graphics, Code Sourcery Code > Bench for ARM for the moment. I think they've got current GCC language > support through 4.7.2 if it matters. I'm sure recent GCC helps, but I'd also check their library support. > > My only questions are, how feasible a cross compile is Boost? Does the > inclusion and linkage go about as smoothly as for any other > ARM-destined output? It's feasible, but I wouldn't call it smooth... OTOH it might be just my lack of experience - Android was the first (and so far only) ARM I tried to port anything to, and I haven't added a Boost target before either... Bye Vaclav -- http://www.mangrove.cz/
Thank you...
On Sat, Mar 16, 2013 at 2:01 AM, Vaclav Barta
Hi,
On 03/16/13 02:24, Michael Powell wrote:
Hello,
I wonder, has anyone built Boost for ARM?
Specifically, we've got an ARM5 for which I want to use Boost for many of those features, a key one is Spirit2 for at least one domain-specific-language (DSL) exposure, possibly two or three.
I've built Boost for Android (i.e. ARM6), and I'm far from the only one - I've started from https://github.com/MysticTreeGames/Boost-for-Android , which is for an old version of Boost, but the general approach of keeping a set of patches removing problematic functionality (Android doesn't have full standard C++ library - no wide strings, no locales etc. - so parts of Boost depending on that have to be cut out) and extending Boost.Build with an Android target works across versions.
I will check there, thank you. I suspect we probably will need cultural support. Could be an issue especially if we need to to any global deliveries. We're deploying to ArchLinux (latest distro AFAIK), kernel 3.7.1 (also AFAIK), if it matters. Not sure how much time our contractor spent pulling in what libraries (i.e. I needed to load up GDB for debug purposes). All TBD for our development and/or production OS image.
That I can say, we're working with Mentor Graphics, Code Sourcery Code Bench for ARM for the moment. I think they've got current GCC language support through 4.7.2 if it matters.
I'm sure recent GCC helps, but I'd also check their library support.
Will definitely need to do that.
My only questions are, how feasible a cross compile is Boost? Does the inclusion and linkage go about as smoothly as for any other ARM-destined output?
It's feasible, but I wouldn't call it smooth... OTOH it might be just my lack of experience - Android was the first (and so far only) ARM I tried to port anything to, and I haven't added a Boost target before either...
Definitely my lack of experience in this realm I can tell you that. Pulling tool chain around a somewhat sane delivery stream. Not the easiest task on the planet to pull off.
Bye Vaclav -- http://www.mangrove.cz/
I build boost for arm all the time. I have a bash script that does this for me. I can give it to you. -----Original Message----- From: Vaclav Barta [mailto:vbar@comp.cz] Sent: Sat 3/16/2013 2:01 AM To: boost-users@lists.boost.org Subject: Re: [Boost-users] [boost] [arm] Building for ARM Hi, On 03/16/13 02:24, Michael Powell wrote: > Hello, > > I wonder, has anyone built Boost for ARM? > > Specifically, we've got an ARM5 for which I want to use Boost for many > of those features, a key one is Spirit2 for at least one > domain-specific-language (DSL) exposure, possibly two or three. I've built Boost for Android (i.e. ARM6), and I'm far from the only one - I've started from https://github.com/MysticTreeGames/Boost-for-Android , which is for an old version of Boost, but the general approach of keeping a set of patches removing problematic functionality (Android doesn't have full standard C++ library - no wide strings, no locales etc. - so parts of Boost depending on that have to be cut out) and extending Boost.Build with an Android target works across versions. > That I can say, we're working with Mentor Graphics, Code Sourcery Code > Bench for ARM for the moment. I think they've got current GCC language > support through 4.7.2 if it matters. I'm sure recent GCC helps, but I'd also check their library support. > > My only questions are, how feasible a cross compile is Boost? Does the > inclusion and linkage go about as smoothly as for any other > ARM-destined output? It's feasible, but I wouldn't call it smooth... OTOH it might be just my lack of experience - Android was the first (and so far only) ARM I tried to port anything to, and I haven't added a Boost target before either... Bye Vaclav -- http://www.mangrove.cz/
2013/3/16 Michael Powell
Hello,
I wonder, has anyone built Boost for ARM?
Successfully build for RaspberryPi (ARM11 family).
Specifically, we've got an ARM5 for which I want to use Boost for many of those features, a key one is Spirit2 for at least one domain-specific-language (DSL) exposure, possibly two or three.
Spirit worked well, but lexer from Boost.Spirit has some issues, to fix them you may use patch from https://svn.boost.org/trac/boost/ticket/8291
That I can say, we're working with Mentor Graphics, Code Sourcery Code Bench for ARM for the moment. I think they've got current GCC language support through 4.7.2 if it matters.
My only questions are, how feasible a cross compile is Boost? Does the inclusion and linkage go about as smoothly as for any other ARM-destined output?
On Raspberry Pi we were using a lot of boost libraries: asio, optional, variant, lexical_cast, spirit, threads, program_options, tuples, fusion, MPL, function, smart_ptr (all of them), interprocess... All of them worked well on GCC 4.7.2. -- Best regards, Antony Polukhin
Uh oh...
On Sat, Mar 16, 2013 at 3:46 AM, Antony Polukhin
2013/3/16 Michael Powell
: Hello,
I wonder, has anyone built Boost for ARM?
Successfully build for RaspberryPi (ARM11 family).
Specifically, we've got an ARM5 for which I want to use Boost for many of those features, a key one is Spirit2 for at least one domain-specific-language (DSL) exposure, possibly two or three.
Spirit worked well, but lexer from Boost.Spirit has some issues, to fix them you may use patch from https://svn.boost.org/trac/boost/ticket/8291
Old ticket or it's been archived, moved, transferred out. Guess we'll cross whatever bridges need crossing. It finally pulled up but it was slow.
That I can say, we're working with Mentor Graphics, Code Sourcery Code Bench for ARM for the moment. I think they've got current GCC language support through 4.7.2 if it matters.
My only questions are, how feasible a cross compile is Boost? Does the inclusion and linkage go about as smoothly as for any other ARM-destined output?
On Raspberry Pi we were using a lot of boost libraries: asio, optional, variant, lexical_cast, spirit, threads, program_options, tuples, fusion, MPL, function, smart_ptr (all of them), interprocess... All of them worked well on GCC 4.7.2.
Doubtful we'll need ASIO. We may, but I am looking into domain-specific distributed object technology at the moment. The other features, yes, yes, a thousand times yes. Probably so. I'd like to use the C++11 feature-set provided GCC is sufficiently stable with the 4.7 provision. If not, will probably see about the C++0x feature-set (same caveat). We probably will, good to know it's available and would work.
-- Best regards, Antony Polukhin _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (4)
-
Antony Polukhin
-
Graham, Jeff
-
Michael Powell
-
Vaclav Barta