Boost logo

Boost Users :

Subject: [Boost-users] Compiling Boost 1.54.0 for the iOS simulator (6.1) on OS X 10.8.4
From: Dan Leach (daniel.j.leach_at_[hidden])
Date: 2013-07-18 21:31:22


Hello,

I am new to the Boost mailing list so please let me know if this is not the
appropriate place to discuss my problem.

I have successfully managed to compile several of the Boost libraries
(regex, filesystem, thread) and create a framework for use with OS X, iOS,
and the iOS simulator using this script:
https://github.com/wuhao5/boost/blob/188e905626dbd522f65950102ed0c8ce77cb28e8/boost.shbased
on Peter Goodliffe's work here:
http://goodliffe.blogspot.com/2010/09/building-boost-framework-for-ios-iphone.htmlwith
Boost 1.53.0 using clang and linking against libc++.

The script fails when compiling for the iOS simulator with Boost 1.54.0
with the following error:/bin/sh: line 1: -ftemplate-depth-128: command not
found.

I did quite a bit of digging and here is what I know:
    * In boost.sh, the iOS simulator bjam and compiler options include
"-arch i386"
    * The release notes for Boost 1.54.0 state that "Boost no longer
supports the 80386 target CPU"
    * The Boost 1.53.0 libraries mentioned above appear to compile fine for
OS X, iOS, and the iOS simulator using the same script
    * The Boost 1.54.0 libraries appear to compile fine for OS X and iOS
itself using the same script

Here is what I think I know:
    * When passing "-d13" to bjam (to generate debug information), it
appears that the variable "CONFIG_COMMAND" is not being set when building
for the iOS simulator. For the other configurations, this variable is set
to the path to clang and includes the compiler options. For the simulator,
it is empty which I believe leads to the error above as when bjam attempts
to run the compiler using this variable, it instead runs some appended
options which begin with the template depth. Therefore, the CONFIG_COMMAND
variable does not appear to be being set properly causing the failure.

I do not know why it's not being set as I don't know enough about the Boost
build system to sift through the rest of the output generated with the
"-d13" flag. I suspect an incompatibility with the "-arch i386" option was
introduced with 1.54.0. I've tried changing this to "-arch i486" and "-arch
x86_32" but the same problem occurs.

Has anyone else had success with this? I'd like to use Boost.Log which is
why I'm even attempting this with 1.54.
Thanks!



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net