Skip to content

Add O3-openblas-system feature and correct BLAS setup docs (JOSS #98)#107

Merged
Axect merged 1 commit into
devfrom
features/joss-98-blas-docs
Jul 10, 2026
Merged

Add O3-openblas-system feature and correct BLAS setup docs (JOSS #98)#107
Axect merged 1 commit into
devfrom
features/joss-98-blas-docs

Conversation

@Axect

@Axect Axect commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Closes the remaining points of #98 (JOSS review).

What changed

  • New O3-openblas-system feature: links the OpenBLAS already installed on the system via pkg-config instead of compiling OpenBLAS from source. openblas-src is added as an optional dependency solely to forward its system feature to the instance that blas-src / lapack-src already pull in.
  • Corrected Pre-requisite docs: the README previously claimed O3-openblas needs system OpenBLAS packages. It does not: without the system feature, openblas-src always compiles OpenBLAS from source (needs a C/Fortran toolchain, make, and network access, not libopenblas). The backend table now lists actual build-time requirements per flag.
  • Documented the rustls / native-tls requirement: since openblas-src 0.10.16, the source tarball is downloaded over HTTPS and a TLS backend feature must be enabled. rustls is in its default set, so only default-features = false users hit this; it is now called out explicitly.
  • Removed the stale Peroxide_BLAS link from the README feature list. That repo documents the pre-0.41 manual setup and misled the reviewer into the hardest path; the setup documentation now lives only in the README's Pre-requisite section.
  • CI: the o3 job builds and tests both O3-openblas (from source) and O3-openblas-system (pkg-config). cargo-hack excludes the bare openblas-src flag (it has no TLS backend on its own) and keeps the new composite flag out of the powerset.

Verification

  • cargo test --features O3-openblas-system: 483 passed on Arch Linux against system openblas 0.3.33 (same distro and version as the reviewer's environment)
  • cargo tree confirms feature unification resolves openblas-src to cblas + lapacke + rustls + system
  • cargo fmt --check, cargo doc --no-deps clean

…S jonaspleyer #98)

- New O3-openblas-system feature links the system-installed OpenBLAS via
  pkg-config instead of compiling OpenBLAS from source; openblas-src is
  added as an optional dependency solely to forward its system feature.
- README Pre-requisite section now states that O3-openblas builds OpenBLAS
  from source (C/Fortran toolchain, make, network access) and documents the
  rustls / native-tls requirement of openblas-src 0.10.16+ when used with
  default-features = false.
- Drop the stale Peroxide_BLAS link from the README feature list; point to
  the Pre-requisite section instead.
- CI: o3 job also builds and tests O3-openblas-system; cargo-hack excludes
  the bare openblas-src flag (no TLS backend on its own) and keeps the new
  composite flag out of the powerset.
@Axect Axect merged commit 23e5930 into dev Jul 10, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant