I used cibuildwheel 1.1.0 in order to generate wheels for my library (which uses cython code) and have been using this for a few months already. 🎉
Now I received an issue from a user, where his program segfaults when importing my library (brambox) and a another one (pytorch). I'm still not sure what the cause is, but by googling around, I think it might be because I used manylinux1 and thus GCC 4.8, which is ABI incompatible with newer GCC versions.
The weird thing is that I have been using the official package of pytorch, which is reportedly compiled with GCC 4.9, without any issues... 🤔
The user in question used a pytorch version from his package manager (pacman - arch user), and there it crashes.
This leaves my quite puzzled and I don't really know what to do here. 😧
I checked out this repo and noticed the new version supports manylinux2010 and manylinux2014 which use newer GCC versions, so I might be tempted to migrate to using those.
However, as I do not fully understand all the implications of this, I would like to have your advice! 😇
- Are there any drawbacks to using the newer manylinux images ?
- Will my library still be compatible with packages like numpy and pandas, which use
manylinux1 ?
- Is it a good idea to use these newer images, just for the sake of using them, or should we still stay on
manylinux1 if possible ?
I used cibuildwheel 1.1.0 in order to generate wheels for my library (which uses cython code) and have been using this for a few months already. 🎉
Now I received an issue from a user, where his program segfaults when importing my library (brambox) and a another one (pytorch). I'm still not sure what the cause is, but by googling around, I think it might be because I used
manylinux1and thusGCC 4.8, which is ABI incompatible with newer GCC versions.The weird thing is that I have been using the official package of pytorch, which is reportedly compiled with GCC 4.9, without any issues... 🤔
The user in question used a pytorch version from his package manager (pacman - arch user), and there it crashes.
This leaves my quite puzzled and I don't really know what to do here. 😧
I checked out this repo and noticed the new version supports
manylinux2010andmanylinux2014which use newer GCC versions, so I might be tempted to migrate to using those.However, as I do not fully understand all the implications of this, I would like to have your advice! 😇
manylinux1?manylinux1if possible ?