Skip to content

[Bug]: The documentation workflow is broken. Fails to find OpenBLAS #98

@KathleenLabrie

Description

@KathleenLabrie

Contact Details

No response

What happened?

The documentation workflow wants to build scipy. The build fails because OpenBLAS cannot be found. The last time the documentation workflow was run, successfully, was over a year ago and unfortunately github has deleted the log. I cannot tell what has changed.

One way to fix this might be to install libopenblas-dev as a system dependency.

Adding something like this might work:

      - name: Install system dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y build-essential libopenblas-dev pkg-config

Version

3.14

Relevant log output

Run nox -s docs
  nox -s docs
  shell: /usr/bin/bash -e {0}
  env:
    pythonLocation: /opt/hostedtoolcache/Python/3.14.5/x64
    LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.14.5/x64/lib
nox > Running session docs
nox > Creating virtual environment (virtualenv) using python in .nox/docs
nox > poetry export --only=main,docs --without-hashes --format=requirements.txt --output=.nox/docs/tmp/requirements.txt
nox > Poetry dependencies written to .nox/docs/tmp/requirements.txt
   alabaster==0.7.16 ; python_version >= "3.10" and python_version < "4.0"
   asdf-astropy==0.7.1 ; python_version >= "3.10" and python_version < "4.0"
   asdf-coordinates-schemas==0.3.0 ; python_version >= "3.10" and python_version < "4.0"
   asdf-standard==1.1.1 ; python_version >= "3.10" and python_version < "4.0"
   asdf-transform-schemas==0.5.0 ; python_version >= "3.10" and python_version < "4.0"
   asdf-wcs-schemas==0.4.0 ; python_version >= "3.10" and python_version < "4.0"
   asdf==3.5.0 ; python_version >= "3.10" and python_version < "4.0"
   astroid==3.3.9 ; python_version >= "3.10" and python_version < "4.0"
   astropy-iers-data==0.2025.3.31.0.36.18 ; python_version >= "3.10" and python_version < "4.0"
   astropy==6.1.7 ; python_version >= "3.10" and python_version < "4.0"
   attrs==25.3.0 ; python_version >= "3.10" and python_version < "4.0"
   babel==2.17.0 ; python_version >= "3.10" and python_version < "4.0"
   certifi==2025.1.31 ; python_version >= "3.10" and python_version < "4.0"
   charset-normalizer==3.4.1 ; python_version >= "3.10" and python_version < "4.0"
   colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and sys_platform == "win32"
   docutils==0.20.1 ; python_version >= "3.10" and python_version < "4.0"
   gwcs==0.21.0 ; python_version >= "3.10" and python_version < "4.0"
   idna==3.10 ; python_version >= "3.10" and python_version < "4.0"
   imagesize==1.4.1 ; python_version >= "3.10" and python_version < "4.0"
   importlib-metadata==8.6.1 ; python_version >= "3.10" and python_version <= "3.11"
   jinja2==3.1.6 ; python_version >= "3.10" and python_version < "4.0"
   jmespath==1.0.1 ; python_version >= "3.10" and python_version < "4.0"
   jsonschema-specifications==2024.10.1 ; python_version >= "3.10" and python_version < "4.0"
   jsonschema==4.23.0 ; python_version >= "3.10" and python_version < "4.0"
   markdown-it-py==3.0.0 ; python_version >= "3.10" and python_version < "4.0"
   markupsafe==3.0.2 ; python_version >= "3.10" and python_version < "4.0"
   mdit-py-plugins==0.4.2 ; python_version >= "3.10" and python_version < "4.0"
   mdurl==0.1.2 ; python_version >= "3.10" and python_version < "4.0"
   myst-parser==2.0.0 ; python_version >= "3.10" and python_version < "4.0"
   numpy==1.26.4 ; python_version >= "3.10" and python_version < "4.0"
   packaging==24.2 ; python_version >= "3.10" and python_version < "4.0"
   pyerfa==2.0.1.5 ; python_version >= "3.10" and python_version < "4.0"
   pygments==2.19.1 ; python_version >= "3.10" and python_version < "4.0"
   pyyaml==6.0.2 ; python_version >= "3.10" and python_version < "4.0"
   referencing==0.36.2 ; python_version >= "3.10" and python_version < "4.0"
   requests==2.32.3 ; python_version >= "3.10" and python_version < "4.0"
   rpds-py==0.24.0 ; python_version >= "3.10" and python_version < "4.0"
   scipy==1.15.2 ; python_version >= "3.10" and python_version < "4.0"
   semantic-version==2.10.0 ; python_version >= "3.10" and python_version < "4.0"
   snowballstemmer==2.2.0 ; python_version >= "3.10" and python_version < "4.0"
   sphinx-autoapi==3.6.0 ; python_version >= "3.10" and python_version < "4.0"
   sphinx-automodapi==0.17.0 ; python_version >= "3.10" and python_version < "4.0"
   sphinx-rtd-theme==2.0.0 ; python_version >= "3.10" and python_version < "4.0"
   sphinx==7.4.7 ; python_version >= "3.10" and python_version < "4.0"
   sphinxcontrib-applehelp==2.0.0 ; python_version >= "3.10" and python_version < "4.0"
   sphinxcontrib-devhelp==2.0.0 ; python_version >= "3.10" and python_version < "4.0"
   sphinxcontrib-htmlhelp==2.1.0 ; python_version >= "3.10" and python_version < "4.0"
   sphinxcontrib-jquery==4.1 ; python_version >= "3.10" and python_version < "4.0"
   sphinxcontrib-jsmath==1.0.1 ; python_version >= "3.10" and python_version < "4.0"
   sphinxcontrib-qthelp==2.0.0 ; python_version >= "3.10" and python_version < "4.0"
   sphinxcontrib-serializinghtml==2.0.0 ; python_version >= "3.10" and python_version < "4.0"
   tomli==2.2.1 ; python_version >= "3.10" and python_version < "4.0"
   typing-extensions==4.13.0 ; python_version >= "3.10" and python_version <= "3.12"
   urllib3==2.3.0 ; python_version >= "3.10" and python_version < "4.0"
   zipp==3.21.0 ; python_version >= "3.10" and python_version <= "3.11"
nox > python -m pip install -r .nox/docs/tmp/requirements.txt
nox > Command python -m pip install -r .nox/docs/tmp/requirements.txt failed with exit code 1:
nox > Ignoring colorama: markers 'python_version >= "3.10" and python_version < "4.0" and sys_platform == "win32"' don't match your environment
Ignoring importlib-metadata: markers 'python_version >= "3.10" and python_version <= "3.11"' don't match your environment
Ignoring typing-extensions: markers 'python_version >= "3.10" and python_version <= "3.12"' don't match your environment
Ignoring zipp: markers 'python_version >= "3.10" and python_version <= "3.11"' don't match your environment
Collecting alabaster==0.7.16 (from -r .nox/docs/tmp/requirements.txt (line 1))
  Downloading alabaster-0.7.16-py3-none-any.whl.metadata (2.9 kB)
Collecting asdf-astropy==0.7.1 (from -r .nox/docs/tmp/requirements.txt (line 2))
  Downloading asdf_astropy-0.7.1-py3-none-any.whl.metadata (7.3 kB)
Collecting asdf-coordinates-schemas==0.3.0 (from -r .nox/docs/tmp/requirements.txt (line 3))
  Downloading asdf_coordinates_schemas-0.3.0-py3-none-any.whl.metadata (4.1 kB)
Collecting asdf-standard==1.1.1 (from -r .nox/docs/tmp/requirements.txt (line 4))
  Downloading asdf_standard-1.1.1-py3-none-any.whl.metadata (5.2 kB)
Collecting asdf-transform-schemas==0.5.0 (from -r .nox/docs/tmp/requirements.txt (line 5))
  Downloading asdf_transform_schemas-0.5.0-py3-none-any.whl.metadata (4.1 kB)
Collecting asdf-wcs-schemas==0.4.0 (from -r .nox/docs/tmp/requirements.txt (line 6))
  Downloading asdf_wcs_schemas-0.4.0-py3-none-any.whl.metadata (3.9 kB)
Collecting asdf==3.5.0 (from -r .nox/docs/tmp/requirements.txt (line 7))
  Downloading asdf-3.5.0-py3-none-any.whl.metadata (14 kB)
Collecting astroid==3.3.9 (from -r .nox/docs/tmp/requirements.txt (line 8))
  Downloading astroid-3.3.9-py3-none-any.whl.metadata (4.5 kB)
Collecting astropy-iers-data==0.2025.3.31.0.36.18 (from -r .nox/docs/tmp/requirements.txt (line 9))
  Downloading astropy_iers_data-0.2025.3.31.0.36.18-py3-none-any.whl.metadata (5.1 kB)
Collecting astropy==6.1.7 (from -r .nox/docs/tmp/requirements.txt (line 10))
  Downloading astropy-6.1.7.tar.gz (7.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.1/7.1 MB 65.0 MB/s  0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting attrs==25.3.0 (from -r .nox/docs/tmp/requirements.txt (line 11))
  Downloading attrs-25.3.0-py3-none-any.whl.metadata (10 kB)
Collecting babel==2.17.0 (from -r .nox/docs/tmp/requirements.txt (line 12))
  Downloading babel-2.17.0-py3-none-any.whl.metadata (2.0 kB)
Collecting certifi==2025.1.31 (from -r .nox/docs/tmp/requirements.txt (line 13))
  Downloading certifi-2025.1.31-py3-none-any.whl.metadata (2.5 kB)
Collecting charset-normalizer==3.4.1 (from -r .nox/docs/tmp/requirements.txt (line 14))
  Downloading charset_normalizer-3.4.1-py3-none-any.whl.metadata (35 kB)
Collecting docutils==0.20.1 (from -r .nox/docs/tmp/requirements.txt (line 16))
  Downloading docutils-0.20.1-py3-none-any.whl.metadata (2.8 kB)
Collecting gwcs==0.21.0 (from -r .nox/docs/tmp/requirements.txt (line 17))
  Downloading gwcs-0.21.0-py3-none-any.whl.metadata (6.2 kB)
Collecting idna==3.10 (from -r .nox/docs/tmp/requirements.txt (line 18))
  Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting imagesize==1.4.1 (from -r .nox/docs/tmp/requirements.txt (line 19))
  Downloading imagesize-1.4.1-py2.py3-none-any.whl.metadata (1.5 kB)
Collecting jinja2==3.1.6 (from -r .nox/docs/tmp/requirements.txt (line 21))
  Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
Collecting jmespath==1.0.1 (from -r .nox/docs/tmp/requirements.txt (line 22))
  Downloading jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB)
Collecting jsonschema-specifications==2024.10.1 (from -r .nox/docs/tmp/requirements.txt (line 23))
  Downloading jsonschema_specifications-2024.10.1-py3-none-any.whl.metadata (3.0 kB)
Collecting jsonschema==4.23.0 (from -r .nox/docs/tmp/requirements.txt (line 24))
  Downloading jsonschema-4.23.0-py3-none-any.whl.metadata (7.9 kB)
Collecting markdown-it-py==3.0.0 (from -r .nox/docs/tmp/requirements.txt (line 25))
  Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)
Collecting markupsafe==3.0.2 (from -r .nox/docs/tmp/requirements.txt (line 26))
  Downloading markupsafe-3.0.2.tar.gz (20 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting mdit-py-plugins==0.4.2 (from -r .nox/docs/tmp/requirements.txt (line 27))
  Downloading mdit_py_plugins-0.4.2-py3-none-any.whl.metadata (2.8 kB)
Collecting mdurl==0.1.2 (from -r .nox/docs/tmp/requirements.txt (line 28))
  Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
Collecting myst-parser==2.0.0 (from -r .nox/docs/tmp/requirements.txt (line 29))
  Downloading myst_parser-2.0.0-py3-none-any.whl.metadata (5.4 kB)
Collecting numpy==1.26.4 (from -r .nox/docs/tmp/requirements.txt (line 30))
  Downloading numpy-1.26.4.tar.gz (15.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 15.8/15.8 MB 195.3 MB/s  0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): still running...
  Preparing metadata (pyproject.toml): still running...
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting packaging==24.2 (from -r .nox/docs/tmp/requirements.txt (line 31))
  Downloading packaging-24.2-py3-none-any.whl.metadata (3.2 kB)
Collecting pyerfa==2.0.1.5 (from -r .nox/docs/tmp/requirements.txt (line 32))
  Downloading pyerfa-2.0.1.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.7 kB)
Collecting pygments==2.19.1 (from -r .nox/docs/tmp/requirements.txt (line 33))
  Downloading pygments-2.19.1-py3-none-any.whl.metadata (2.5 kB)
Collecting pyyaml==6.0.2 (from -r .nox/docs/tmp/requirements.txt (line 34))
  Downloading pyyaml-6.0.2.tar.gz (130 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting referencing==0.36.2 (from -r .nox/docs/tmp/requirements.txt (line 35))
  Downloading referencing-0.36.2-py3-none-any.whl.metadata (2.8 kB)
Collecting requests==2.32.3 (from -r .nox/docs/tmp/requirements.txt (line 36))
  Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting rpds-py==0.24.0 (from -r .nox/docs/tmp/requirements.txt (line 37))
  Downloading rpds_py-0.24.0.tar.gz (26 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting scipy==1.15.2 (from -r .nox/docs/tmp/requirements.txt (line 38))
  Downloading scipy-1.15.2.tar.gz (59.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.4/59.4 MB 114.1 MB/s  0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error
  
  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [828 lines of output]
      + meson setup /home/runner/work/astrodata/astrodata/.nox/docs/tmp/pip-install-_gstr3yv/scipy_64c7a18edc084d05a3ef7826d7b975c6 /home/runner/work/astrodata/astrodata/.nox/docs/tmp/pip-install-_gstr3yv/scipy_64c7a18edc084d05a3ef7826d7b975c6/.mesonpy-qo6qxc0a -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/home/runner/work/astrodata/astrodata/.nox/docs/tmp/pip-install-_gstr3yv/scipy_64c7a18edc084d05a3ef7826d7b975c6/.mesonpy-qo6qxc0a/meson-python-native-file.ini
      The Meson build system
      Version: 1.11.1
      Source dir: /home/runner/work/astrodata/astrodata/.nox/docs/tmp/pip-install-_gstr3yv/scipy_64c7a18edc084d05a3ef7826d7b975c6
      Build dir: /home/runner/work/astrodata/astrodata/.nox/docs/tmp/pip-install-_gstr3yv/scipy_64c7a18edc084d05a3ef7826d7b975c6/.mesonpy-qo6qxc0a
      Build type: native build
      Project name: scipy
      Project version: 1.15.2
      C compiler for the host machine: cc (gcc 13.3.0 "cc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0")
      C linker for the host machine: cc ld.bfd 2.42
      C++ compiler for the host machine: c++ (gcc 13.3.0 "c++ (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0")
      C++ linker for the host machine: c++ ld.bfd 2.42
      Cython compiler for the host machine: cython (cython 3.0.12)
      Host machine cpu family: x86_64
      Host machine cpu: x86_64
      Program python found: YES (/home/runner/work/astrodata/astrodata/.nox/docs/bin/python)
      Found pkg-config: YES (/usr/bin/pkg-config) 1.8.1
      Run-time dependency python found: YES 3.14
      Program cython found: YES (/home/runner/work/astrodata/astrodata/.nox/docs/tmp/pip-build-env-8n8em_pm/overlay/bin/cython)
      Compiler for C supports arguments -Wno-unused-but-set-variable: YES
      Compiler for C supports arguments -Wno-unused-function: YES
      Compiler for C supports arguments -Wno-conversion: YES
      Compiler for C supports arguments -Wno-misleading-indentation: YES
      Library m found: YES
      Fortran compiler for the host machine: gfortran (gcc 13.3.0 "GNU Fortran (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0")
      Fortran linker for the host machine: gfortran ld.bfd 2.42
      ../meson.build:86: WARNING: Consider using the built-in option for language standard version instead of using "-std=legacy".
      Compiler for Fortran supports arguments -Wno-conversion: YES
      Checking if "-Wl,--version-script" links: YES
      Program tools/generate_f2pymod.py found: YES (/home/runner/work/astrodata/astrodata/.nox/docs/bin/python /home/runner/work/astrodata/astrodata/.nox/docs/tmp/pip-install-_gstr3yv/scipy_64c7a18edc084d05a3ef7826d7b975c6/tools/generate_f2pymod.py)
      Program scipy/_build_utils/tempita.py found: YES (/home/runner/work/astrodata/astrodata/.nox/docs/bin/python /home/runner/work/astrodata/astrodata/.nox/docs/tmp/pip-install-_gstr3yv/scipy_64c7a18edc084d05a3ef7826d7b975c6/scipy/_build_utils/tempita.py)
      Program pythran found: YES 0.17.0 0.17.0 (/home/runner/work/astrodata/astrodata/.nox/docs/tmp/pip-build-env-8n8em_pm/overlay/bin/pythran)
      Found CMake: /usr/local/bin/cmake (3.31.6)
      Run-time dependency xsimd found: NO  (tried pkg-config and cmake)
      Run-time dependency threads found: YES
      numpy-config found: YES (/home/runner/work/astrodata/astrodata/.nox/docs/tmp/pip-build-env-8n8em_pm/overlay/bin/numpy-config) 2.4.6
      Run-time dependency numpy found: YES 2.4.6
      Library npymath found: YES
      pybind11-config found: YES (/home/runner/work/astrodata/astrodata/.nox/docs/tmp/pip-build-env-8n8em_pm/overlay/bin/pybind11-config) 2.13.6
      Run-time dependency pybind11 found: YES 2.13.6
      Checking if "thread_local" compiles: NO
      Checking if "_Thread_local" compiles: YES
      Checking if "__thread" compiles: YES
      Configuring scipy_config.h using configuration
      Program f2py found: YES (/home/runner/work/astrodata/astrodata/.nox/docs/tmp/pip-build-env-8n8em_pm/overlay/bin/f2py)
      Run-time dependency scipy-openblas found: NO  (tried pkg-config)
      Run-time dependency openblas found: NO  (tried pkg-config and cmake)
      Run-time dependency openblas found: NO  (tried pkg-config and cmake)
      
      ../scipy/meson.build:274:9: ERROR: Dependency "OpenBLAS" not found (tried pkg-config and cmake)
      
      A full log can be found at /home/runner/work/astrodata/astrodata/.nox/docs/tmp/pip-install-_gstr3yv/scipy_64c7a18edc084d05a3ef7826d7b975c6/.mesonpy-qo6qxc0a/meson-logs/meson-log.txt
==== CI platform detected, click here for meson-log.txt contents. ====
      
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> scipy

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

nox > Session docs failed.
Error: Process completed with exit code 1.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions