Skip to content

C++14 #125

@alexhsamuel

Description

@alexhsamuel

I'm trying to build a Python 3.6 manylinux1 wheel of a package implemented in C++14. I perused #39, and also recent traffic on wheel-builders as suggested in that issue, but didn't find too much to guide me.

After some trial and error, I managed to get a working wheel (I think!) via the following process:

  1. Scrounge around for a CentOS 5.11 docker image with GCC 5. I ended up using continuumio/conda_builder_linux.
  2. Hack up my setup.py to link -static-libstdc++ -static-libgcc.
  3. Build the wheel.
  4. auditwheel repair.

I was wondering,

  1. Is this the current recommended practice? -static-libstdc++ or bundling libstdc++.so seems unavoidable for C++14 given the CXXABI version restriction.
  2. Where can I find out what's up with manylinux2? And what CXXABI will this allow?
  3. Is there any documentation I might have missed? If not, is there somewhere I could contribute some for posterity or myself in six months when I've forgotten? It would be wonderful if there were an PyPA-approved method for distributing binary C++14 (or newer) Linux extension modules. Conda works but I'd like to support non-conda environments too.
  4. Any other suggestions?

FWIW I'm not particularly interested in supporting CentOS 5 with my package. I'm just looking to create a binary Linux wheel that works on reasonably modern systems that I can actually upload to PyPI.

Thanks much in advance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions