-
Notifications
You must be signed in to change notification settings - Fork 157
Closed
Labels
Description
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:
- Scrounge around for a CentOS 5.11 docker image with GCC 5. I ended up using continuumio/conda_builder_linux.
- Hack up my setup.py to link
-static-libstdc++ -static-libgcc
. - Build the wheel.
auditwheel repair
.
I was wondering,
- Is this the current recommended practice?
-static-libstdc++
or bundling libstdc++.so seems unavoidable for C++14 given the CXXABI version restriction. - Where can I find out what's up with manylinux2? And what CXXABI will this allow?
- 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.
- 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.