-
-
Notifications
You must be signed in to change notification settings - Fork 48
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
NumPy 1.14 on Window requires flang.lib when compiling C extensions #79
Comments
That's not what is happening. You're trying to compile fortran code without the flang dependency. Note: NumPy thinks that the flang compiler works ( |
Possible solutions to this problem:
|
Any idea why this issue doesn't affect us when using Intel Fortran to build NumPy? Also why is there a |
@xoviat You are correct, this seems to be caused by the fact that arm_pyart has both C and Fortran code. I tried compiling pywavelets, which only has C code, against NumPy 1.14 and everything is fine. In the arm_pyart example what I don't understand is why "flang.lib flangrti.lib ompstub.lib" are being added to the link arguments for the _sigmetfile module which is a C extension. arm_pyart has logic to skip extensions which use Fortran, but this logic depends on |
Intel Fortran runtime libraries don't depend on a compiler package. For example, the intel-openmp package doesn't depend on having ifort installed.
The modified clangdev that we provide contains a Fortran compiler driver. However, the code generation is done in the flang package.
Compiler libraries are applied globally. When you enable the Fortran compiler, all of your extensions get the Fortran libraries. Same with a custom C compiler. |
One idea is to create a new flang-driver package that is just the flang executable and have it depend on clangdev (similar to how we split libflang out). cc @isuruf |
Good to know, thanks for the help. Since this is not an issue with NumPy itself I'm closing this. I would be in favor of re-adding the Windows NumPy 1.14 packages to the |
The issue that I've opened at clangdev-feedstock should fix the |
Sounds good, this seems in-line with the docstring section, "True if a Fortran 90 compiler is available (because a simple Fortran 90 code was able to be compiled successfully)" |
When compiling a C extension which uses NumPy 1.14 the linker seems to be requiring
flang.lib
and other libraries. For example this build of arm_pyart.The immediate issue can be solved by building against an older NumPy and relying on NumPy's backwards compatibility.
The text was updated successfully, but these errors were encountered: