boost-xcode5-iosx
boost-xcode5-iosx copied to clipboard
Errors during bjam init
Hi. Trying to build boost using the script for two days straight. My configuration is Xcode 5.0.2 from appstore on macosx 10.8.5. Here is what i think is the important bit:
/Users/godexsoft/Development/libs/boost-xcode5-iosx/src/boost_1_54_0/tools/build/v2/build/feature.jam:493: in validate-value-string from module feature
error: "iphone-7.0" is not a known value of feature
/Users/godexsoft/Development/libs/boost-xcode5-iosx/src/boost_1_54_0/tools/build/v2/build/feature.jam:493: in validate-value-string from module feature
error: "iphone-7.0" is not a known value of feature
As you can see bjam does not detect iphone sdk at all. Also i tried to add echo logs to darwin.jam in order to see what's going on. It selects the default root which is /Developer. I even tried to link my /Application/Xcode.app/... stuff into /Developer so that it hopefully will pick it up but no luck at all.
I found a prebuilt version which seems to work but the problem is i need a custom one built with gnu stdlib and gnu c++ 98 in order to make it work with my project which has a lot of legacy libs which wont work with c++11 on clang and it's way too much pain to make that stuff compile (the project is literally huge).
Please let me know if you got any ideas. Thanks!
I don't quite know where to look for, but maybe simple checklist would help.
Since it can't find "iphone-7.0" maybe you don't have all the tools and SDK installed.
After installing Xcode, did you install Xcode Command Line Tools? You can do it from Xcode preferences or using xcode-select --install
.
Nothing could go wrong with that features.jam
file. The only file modified in boost source is tools/build/v2/user-config.jam
.
I tried both setting it from Xcode prefs as well as using sudo xcode-select --switch on command line. Since yesterday I also tried to install the latest beta xcode with 7.1 sdk but none of the sdks will appear in the legal values list.
If i manually modify darwin.jam to select the root to be /Applications/Xcode.app/... instead of the default /Developer then it actually will pick up the iphone-7.0 as valid macosx-version. BUT if i do that obviously it fails when it gets to the simulator and osx parts of the build.
Any other pointers or suggestions? Thanks!
Just some more infos about my env:
godexsoft@abyss:~/Development/libs/boost-xcode5-iosx$ xcrun --sdk iphoneos --show-sdk-path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk godexsoft@abyss:~/Development/libs/boost-xcode5-iosx$ xcrun --sdk iphoneos --show-sdk-platform-path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform godexsoft@abyss:~/Development/libs/boost-xcode5-iosx$ godexsoft@abyss:~/Development/libs/boost-xcode5-iosx$ find /Applications/Xcode.app/ -name "iPhoneOS7*" /Applications/Xcode.app//Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk godexsoft@abyss:~/Development/libs/boost-xcode5-iosx$ find /Applications/Xcode.app/ -name "clang++" /Applications/Xcode.app//Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ godexsoft@abyss:~/Development/libs/boost-xcode5-iosx$ xcode-select --print-path /Applications/Xcode.app/Contents/Developer
Hi, I have identical output for all these commands
grebenetsm@NDMML1005567:boost-xcode5-iosx$ xcrun --sdk iphoneos --show-sdk-path
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk
grebenetsm@NDMML1005567:boost-xcode5-iosx$ xcrun --sdk iphoneos --show-sdk-platform-path
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
grebenetsm@NDMML1005567:boost-xcode5-iosx$ find /Applications/Xcode.app/ -name "iPhoneOS7*"
/Applications/Xcode.app//Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk
grebenetsm@NDMML1005567:boost-xcode5-iosx$ find /Applications/Xcode.app/ -name "clang++"
/Applications/Xcode.app//Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
grebenetsm@NDMML1005567:boost-xcode5-iosx$ xcode-select --print-path
/Applications/Xcode.app/Contents/Developer
grebenetsm@NDMML1005567:boost-xcode5-iosx$
and paths like this for simulator SDK
grebenetsm@NDMML1005567:boost-xcode5-iosx$ xcrun --sdk iphonesimulator --show-sdk-path
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk
grebenetsm@NDMML1005567:boost-xcode5-iosx$ xcrun --sdk iphonesimulator --show-sdk-platform-path
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform
grebenetsm@NDMML1005567:boost-xcode5-iosx$
What does your user-config.jam
in $BOOST_SRC/tools/build/v2/
look like after running build.sh
?
It looks exactly as it should based on boost.sh:
using darwin : 7.0~iphone
: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch armv7 -arch armv7s -arch arm64 -fvisibility=hidden -fvisibility-inlines-hidden -DBOOST_AC_USE_PTHREADS -DBOOST_SP_USE_PTHREADS
: <striper> <root>/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
: <architecture>arm <target-os>iphone
;
using darwin : 7.0~iphonesim
: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch i386 -arch x86_64 -fvisibility=hidden -fvisibility-inlines-hidden -DBOOST_AC_USE_PTHREADS -DBOOST_SP_USE_PTHREADS
: <striper><root>/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
: <architecture>x86 <target-os>iphone
;
I also have exactly the same output for everything on both my laptop and my office iMac. Surprisingly it worked on iMac w/o any trouble. Any ideas? I thought maybe it had to do with case sensitivity of the filesystem but both setups are default - case insensitive.
Any more ideas/pointers? Спасибо!
Привет.
Sorry for late response.
Can't really tell what could be the reason. From my experience, the build normally is OK on "clean" systems. By "clean" I mean OS X at least 10.7 or upgraded from 10.7; and system that never had Xcode older than 4.x installed. I don't really know the details, but Xcode 3.2 was installed not in /Applications
and apparently was more tightly integrated into the system toolchains.
That's the only thing I could suggest. I've seen some old scripts used to uninstall older Xcode versions, but those don't seem to help much.
I wish I could help more.
i have got the same error on my Mac. The reason was very simple - I already had boost installed in usr/local and there was another user-config.jam in my home directory (/Users/...) After removing user-config.jam from home directory errors gone.