Opened 12 years ago
Last modified 12 years ago
#5083 new Bugs
Snow Leopard, Xcode 3.2.x - i) Address-model seeming not to work ii) user-config.jam + build.sh, and iii) insufficient documentation for Boost.build - Jan. 18, 2011
Reported by: | Owned by: | Vladimir Prus | |
---|---|---|---|
Milestone: | To Be Determined | Component: | build |
Version: | Boost 1.45.0 | Severity: | Problem |
Keywords: | multi-architecture - bjam | Cc: |
Description
Preliminary:
- platform: Mac mini Intel Core 2 Duo
- OS: Mac OS X 10.6.x (Snow Leopard)
- IDE and related development tools: Xcode 3.2.5
- BOOST versions: 1.43.0 .. 1.45.0
PART I: multi-architecture
Unable to build multi-architecture, even though using the address-model option for bjam, according your Boost.build V2 documentation. Results are as follows, with Boost v. 1.45.0 (similar results with previous versions):
- the address-model option is not given to bjam. The standard gcc (g++) compiler is used:
size of the build folder: 186.3 MB. Architecture build (found with the "lipo -i" command): x86_64
- address-model set to 32:
size of the build folder: 184.1 MB. Architecture build (found with the "lipo -i" command): x86_64
- address-model set to 32_64:
size of the build folder: 184.1 MB. Architecture build (found with the "lipo -i" command): x86_64
In consequence: it seems that the address-model option remains uneffective. Unable to build multi-architecture. Besides, the 32-bit architecture lonely cannot be build too.
#================================
PART II: user-config.jam, build.sh
In my attempt to build multi-architecture BOOST libraries for Mac OS X, I tried several BOOST initial configurations through user-config.jam and build.sh located in /tolls/jam/src for the 1.45.0 version (located elsewhere for previuous versions - TBV, namely to be verified ... again). Please find below my results and, in my own opinions, tehy likely are unsecure in terms of quality of sofware development (kindly see the EIFFEL - MEYER or MAYER - handbook for this topics) :
- user-config-jam:
According to the BOOST.Build V2 documentation, I set "using gcc" with g++. It seems that it has an influence upon the build libraries (sizes different) compared to let this option not seen by bjam (in other words, keeping: #using gcc : : ;)
- user-config.jam, build.sh
After having looked at the build.sh file (TBV) and ahving seen that darwin is used to set the compiler to : cc (NB the "basic" C compiler), and even it is not indicated in teh Boost.build documentation, I tried to use the following rule:
using darwin : : g++; It seems this has an influence, but I am not sure. Besdes, I am not sure that this is correct, because teh documentation remains unsufficient on this point in particular, on Apple generally.
#================================
PART III: BOOST.build V2 documentation Unsufficient. A fairly big lack of real examples, in particular for the bjam section. Very useful but lacking: a summary of EVERY option of bjam in the command-line context. Etc.
#================================
PART IV: miscellaneous
- No check nor install check seeming to be present or allowed for BOOST. Expected a good new feature
- IMPORTANT
No possibility to see, for example before compilation, he complete or even partial set of configuration parameters used, such as: CC, CXX, CFLAGS, CXXFLAGS, LDFLAGS, etc ... very welcome for debugging
- IMPORTANT
CPP and CXXCPP seem not to be allowed to be set. How to fix that ? GNU compilers need thsi, because, according to their manuals, multi-architecture building needs : CPP"gcc -E", CXXCPP="g++ -E", with : CC="gcc -arch i386 -arch x86_64", and CXX="g++ -arch i386 -arch x86_64" for example.
Attachments (3)
Change History (5)
by , 12 years ago
Attachment: | lib_address_model_empty.log added |
---|
by , 12 years ago
Attachment: | lib_address_model_32.log added |
---|
by , 12 years ago
Attachment: | lib_address_model_32_64.log added |
---|
comment:1 by , 12 years ago
comment:2 by , 12 years ago
Component: | bjam → build |
---|---|
Owner: | changed from | to
I'd suggest to report a single issue in a single ticket. So, let's use this one for address-model thing. Could you show the exact command you have used to compile?