boostorg / boostorg/python

./b2 install --prefix=$VIRTUALENV does not honour `include/pythonX.Ym`

Open
#100 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
537
Forks
223
Avg merge
11h 22m
Merged PRs (30d)
2

Description

[PEP 3149](https://www.python.org/dev/peps/pep-3149/) introduced optional flags to the Python installation (see also [this](http://stackoverflow.com/questions/16675865/difference-between-python3-and-python3m-executables) SO question), that are propagated to the virtualenv.

Specifically, the virtualenv include dir is built as `.virtualenvs/.../include/python3.6m` instead of `.virtualenvs/.../include/python3.6` when certain conditions are met. However, running

```
./bootstrap.sh --prefix=$VIRTUAL_ENV --with-libraries=python --with-python=$VIRTUAL_ENV/bin/python
./b2 install --prefix=$VIRTUAL_ENV
```

will call the compiler as
```g++ ... -I".../include/python3.6" ... "libs/python/src/object_operators.cpp"```, causing Python headers to not be found.

IMO Boost.python should honor the default installation within a virtualenv.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.