pymc-devs / pymc-devs/pytensor

BUG: "BLAS alone" detection on Windows failing with 32 bit pseudo relocation out of range

Open
#1,695 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.