pymc-devs / pymc-devs/pytensor
BUG: "BLAS alone" detection on Windows failing with 32 bit pseudo relocation out of range
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 644
- Forks
- 208
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 16
Description
Describe the issue:
Reported in https://github.com/pymc-devs/pytensor/pull/1667#issuecomment-3447731251
If MKL detection fails, then we see the following new error:
Mingw-w64 runtime failure:
32 bit pseudo relocation at 00007FF6E32314BC out of range, targeting 00007FF985A31600, yielding the value 00000002A2800140.
This comes from "Checking Lapack + blas" and "Checking blas alone":
DEBUG (pytensor.link.c.cmodule): Checking Lapack + blas
DEBUG (pytensor.link.c.cmodule): Compiling for 64 bit architecture
DEBUG (pytensor.link.c.cmodule): try_blas_flags of flags: ['-L"C:\\Users\\Ben\\micromamba\\envs\\pytensor-blas-test\\Library\\bin"', '-L"C:\\Users\\Ben\\micromamba\\envs\\pytensor-blas-test"', '-llapack', '-lblas', '-lcblas', '-lm', '-Wl,-rpath,C:\\Users\\Ben\\micromamba\\envs\\pytensor-blas-test\\libs']
failed with error message b'Mingw-w64 runtime failure:\r\n32 bit pseudo relocation at 00007FF6E32314BC out of range, targeting 00007FF985A31600, yielding the value 00000002A2800140.\r\n'
DEBUG (pytensor.link.c.cmodule): Supplied flags '' failed to compile
DEBUG (pytensor.link.c.cmodule): Supplied flags ['-L"C:\\Users\\Ben\\micromamba\\envs\\pytensor-blas-test\\Library\\bin"', '-L"C:\\Users\\Ben\\micromamba\\envs\\pytensor-blas-test"', '-llapack', '-lblas', '-lcblas', '-lm', '-Wl,-rpath,C:\\Users\\Ben\\micromamba\\envs\\pytensor-blas-test\\libs'] failed to compile
DEBUG (pytensor.link.c.cmodule): Checking blas alone
DEBUG (pytensor.link.c.cmodule): Compiling for 64 bit architecture
DEBUG (pytensor.link.c.cmodule): try_blas_flags of flags: ['-L"C:\\Users\\Ben\\micromamba\\envs\\pytensor-blas-test\\Library\\bin"', '-lblas', '-lcblas', '-Wl,-rpath,C:\\Users\\Ben\\micromamba\\envs\\pytensor-blas-test\\libs']
failed with error message b'Mingw-w64 runtime failure:\r\n32 bit pseudo relocation at 00007FF7A52314BC out of range, targeting 00007FF985A31600, yielding the value 00000001E0800140.\r\n'
DEBUG (pytensor.link.c.cmodule): Supplied flags '' failed to compile
DEBUG (pytensor.link.c.cmodule): Supplied flags ['-L"C:\\Users\\Ben\\micromamba\\envs\\pytensor-blas-test\\Library\\bin"', '-lblas', '-lcblas', '-Wl,-rpath,C:\\Users\\Ben\\micromamba\\envs\\pytensor-blas-test\\libs'] failed to compile
Reproducable code example:
import logging
logger = logging.getLogger("pytensor.link.c.cmodule")
logger.setLevel(logging.DEBUG)
import pytensor
pytensor.config.blas__ldflags
Error message:
PyTensor version information:
v2.35.0, conda-forge
Context for the issue:
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the pytensor.link.c.cmodule BLAS flag detection used by pytensor.config.blas__ldflags, and reproduce the reported checks on 64-bit Windows with the supplied logging example. Done means BLAS-alone detection no longer triggers the Mingw-w64 pseudo-relocation failure and the configuration lookup completes successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100