-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to make manylinux package with MKL dependency #250
Comments
Does anybody have an advice how to handle this? |
Yes, it's the intended behavior of auditwheel. It grafts all external dynamic dependencies into the wheel file (with the exception of those listed in the whitelist) for it to be installable on any manylinux compliant system.
That's an undefined behavior. PyPI is only there to manage python dependencies, not native ones and thus, auditwheel does not rely on such information. The fact that Intel uses PyPI to redistribute libraries is either for convenience or for some legal reason (e.g. the license forbids redistribution or modification). auditwheel will modify libraries when they're grafted in
You can remove the library from the needed libraries and have a mechanism to dynamically load |
@mayeut thanks for your answer. We will try to dynamically load mkl at runtime. This issue can be closed I think. |
I am working on a Python package with C++ extensions which have Intel MKL dependency. The extension module links to
libmkl_rt.so
. I have putmkl>=2019
in the requirements insetup.py
.The MKL itself is a
manylinux1
package in the PyPI:https://pypi.org/project/mkl/#files
However, if I run
auditwheel repair
to produce a wheel file withmanylinux2014
tag. It will copy thelibmkl_rt.so
into the wheel file. This is of course not needed (and also not preferred). The requirement on MKL is already specified and can be found in the PyPI library. And theauditwheel repair
only copies thelibmkl_rt.so
which is merely an entry for the real MKL library.Is it a intended behavior of
auditwheel repair
to copy all the external dynamic dependencies into the wheel file, even if the dependency is amanylinux1
package in the PyPI and the requirements are specified insetup.py
? If yes, how I can avoid that thelibmkl_rt.so
when producing amanylinux2014
wheel?The text was updated successfully, but these errors were encountered: