
Hi, I have issues in getting boost to build with a custom gcc installation in a separate folder, with default gcc in /usr/bin/. Describing the problem, and issues I am facing below. I would love to have a foolproof and right way to do this. I hope I can get some help here. Building boost with a custom compiler : Problem : 1. I have gcc/g++ in /usr/bin, and I have gcc 4.7.2 in /shared/tools/rtf/bin/gcc & /shared/tools/rtf/bin/g++ 2. I want to compile boost libraries using gcc 4.7.2 ONLY. Solutions : 1. If I export PATH as /shared/tools/rtf/bin:$PATH, so that "which gcc" picks the 4.7.2 one, then I run ./bootstrap.sh and ./b2 install, is that a correct way to do it? 2. Alternatively, would I have to change some .jam files like user-config.jam to point out gcc with using gcc : gcc-4.4 : /shared/tools/... gcc and then compile using Boost.build? Is this the recommended way? Issues/Confusions : 1. If I try to build using Boost.build way I first go to the directory tools/build/v2. Now 1st step to bootstrap, how to bootstrap it with /shared/tools/...gcc compiler? The only way I saw for that was to do like CC=/shared/tools/..gcc ./bootstrap.sh --with-toolset=cc as this actually picks from CC environment variable. Is this correct? 2. The subsequent step ./b2 install --prefix=INSTALL_PATH to build Boost.build fails saying cc.jam not present. How to get that jam file to be present? Should that be created manually? 3. I had also changed user-config.jam to have gcc-4.7 (using gcc : 4.7 : /shared/tools/..gcc). CC=/shared/tools/..gcc ./bootstrap.sh --with-toolset=cc toolset=gcc-4.7 Is this used during bootstrap.sh step? Or only when we give the actual boost build (running b2) 4. Another issue was when I run the bootstrap.sh inside tools/build/v2 (to get Boost.build built), If I give a --with-toolset option, I get the b2 and bjam executables in the current directory. If I do not give a with-toolset option, it automatically defaults to cc, in which case the b2,bjam are inside engine/bin.linux86_64 folder. Not able to understand this. Thanks, Arjun