On Fri, Mar 31, 2017 at 4:41 PM, Tom Kent via Boost-build <boost-build@lists.boost.org> wrote:

Nevermind, there is no regression vs. 1.63 here, the problem was in my user-config.jam file (how many times has that happened!). 

For both the python 2 and 3 configs, I had a 32-bit rule that included the conditions section:
: <address-model>32 <address-model> # conditions 
The goal here was to support both builds with address-model=32 and no address-model specifier. On 1.64.0.beta.2 this causes it to not find any python version and fail silently.

Which, IIRC, is what pre 1.63 did also.
 
On 1.63 it shows up as an error because python couldn't detect a suitable version.
For my build script I simply removed the conditions, so if the address-model isn't "64" then it will use that version...this works, but I had be lead to believe that the original line would work as well. Another thing that *doesn't* work is having two separate configs for the same version (for a total of three when including 64 bit) with one specifying <address-model>32 and another with no conditions. This caused an immediate error that prevented the build.

This clearly isn't a show-stopper, but it seems like it should be cleaned up....not sure how.

Well.. Ultimately the whole of python.jam and the use by BPL build needs to be scrapped and started over. It was never designed to work with multiple versions. And having it work in the past for just the two versions was a miracle it worked. Unfortunately redoing that will take time and will likely mean that BPL building will need to be different. The most likely result being that it builds *all*, and *only*, the versions configured. Not sure what that means for the auto configuration though.


--
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail