Boost logo

Boost :

Subject: Re: [boost] python::numpy not built on windows binary installers
From: Tom Kent (lists_at_[hidden])
Date: 2018-07-03 22:15:08


On Mon, Jun 25, 2018 at 5:04 PM, Tom Kent <lists_at_[hidden]> wrote:

>
> On Wed, Jun 20, 2018 at 3:00 PM, Nicholas Devenish via Boost <
> boost_at_[hidden]> wrote:
>
>> Hi All,
>>
>> I just downloaded the windows boost binaries from
>> https://dl.bintray.com/boostorg/release/1.67.0/binaries/, linked from
>> the boost downloads page. They are missing the boost_numpy library.
>> This (silently) doesn't build if the python installation that boost
>> finds is missing numpy.
>>
>> This is listed as "Third Party" so apologies if this is the wrong
>> place to report it - but it's not clear from the page who makes them.
>> I also couldn't find any mention of this, so don't know if it's a
>> deliberate exclusion.
>>
>> Nick
>>
>
> I'll see if I can get numpy into the python release that is used to build
> the windows binaries for the next release. In the meantime, your best bet
> is to build from source on a machine with numpy correctly setup.
>

Hmm, this isn't going smoothly. My plan was to move to Python 3.7 and
include numpy with the package I'm supporting. However, when I try to build
this with MSVC < 14.0 it fails, as inittypes.h wasn't part of visual studio
before then. I don't want to spend time improving support for 2.7 (by
adding numpy), since it is end-of-life and will be gone in a year and a
half [1].

If I get time (and this is a *huge* if, we're in the process of adopting a
boy), I'm going to try to make windows builds so that the user-config.jam
file changes for each build. For 8.0 <= MSVC <=12.0, I'll set it to build
against the old 2.7 version, for MSVC >= 14.0 I'll have it build against
3.7 with numpy. Then the first build after Jan 1, 2020, I'll just take the
python support out of MSVC < 14.0 completely.

I'm debating removing it completely from all installers. If you are
building against python, you really should build your own copy of
boost::python. There are so many version dependencies that can get out of
whack (e.g. using python 3.5 with a boost that is build against 3.7 might
give you really weird/silent link failures) that is a dangerous thing to
build in.

I've also been trying to get numpy into the windows (and linux) regression
runners, but am hitting the same issue. Hopefully I'll find time to clear
that up too.

Tom

[1] https://lwn.net/Articles/750846/


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk