serge-sans-paille/pythran

conda-forge, Windows, Python 3.12 : ImportError: DLL load failed

Opened this issue · 1 comments

At the end of conda-forge builds (during the testing phase), I get

2024-07-25T15:09:22.3277580Z import: 'fluidfft.fft2d.__pythran__.operators'
2024-07-25T15:09:25.9138831Z Traceback (most recent call last):
2024-07-25T15:09:26.4450357Z   File "D:\bld\fluidfft_1721918932212\test_tmp\run_test.py", line 2, in <module>
2024-07-25T15:09:26.4451956Z     import fluidfft.fft2d.__pythran__.operators
2024-07-25T15:09:26.4452434Z ImportError: DLL load failed while importing operators: A dynamic link library (DLL) initialization routine failed.

Of course, fluidfft.fft2d.__pythran__.operators is a Python extension.

It happens only for Python 3.12. I obtain this both for Numpy 1.26 and 2.0.

I attach the full logs of the builds for Python 3.12 (buggy) and Python 3.11 (successful):

I observe this for Fluidfft (feedstock https://github.com/conda-forge/fluidfft-feedstock).

Note that the Github Action for Windows and Python 3.12, which also uses conda-forge, is green (https://github.com/fluiddyn/fluidfft/actions/workflows/ci-pixi.yml).

I have no idea how to fix that 🙂

Same thing for fluidsim and fluidimage.

It's not so surprising that the bug is seen in all these packages since the same methods/options are used.

In term of code, one thing which is in all extensions generated with Transonic is

# pythran export __transonic__
__transonic__ = "0.7.0"

I know that the same thing but with a tuple leads to the same error on Windows (#2190), so it might be related.

I need to check if I'm able to reproduce locally with a PC on Windows. However, I won't be able to do it soon.