FS#71927 - [openblas] split out blas-openblas to provide blas; avoid conflict with blis
Attached to Project:
Community Packages
Opened by Jed Brown (jedbrown) - Thursday, 26 August 2021, 15:25 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:08 GMT
Opened by Jed Brown (jedbrown) - Thursday, 26 August 2021, 15:25 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:08 GMT
|
Details
Description:
BLIS (https://aur.archlinux.org/packages/blis/) provides a BLAS that is smaller and faster than OpenBLAS, but it currently conflicts with `openblas`. Some packages (`julia` in particular) depend directly on `openblas`, so one cannot currently have `blis` and `julia` installed on the same system. I think the BLAS parts of `openblas` (libblas.so, libblas.so.3, blas.pc) should be split into a new package, `blas-openblas`, which depends on `openblas` and provides `blas`. The same can be done with `blas-blis`, thus allowing `openblas` and `blis` to be installed at the same time, and choose either `blas-openblas` or `blas-blis` as provider of `blas`. Additional info: openblas-0.3.17-1 blis-0.8.1-2 |
This task depends upon
Closed by Buggy McBugFace (bugbot)
Saturday, 25 November 2023, 20:08 GMT
Reason for closing: Moved
Additional comments about closing: https://gitlab.archlinux.org/archlinux/p ackaging/packages/openblas/issues/4
Saturday, 25 November 2023, 20:08 GMT
Reason for closing: Moved
Additional comments about closing: https://gitlab.archlinux.org/archlinux/p ackaging/packages/openblas/issues/4
Suggest closing this task here.
Details:
This request doesn't make sense: libblas.so and libblas.so.3 are just symlinks to the actual libopenblasp-r{version}.so library in this package.
Also, if AUR/blis is a drop-in, API-compatible replacement of BLAS/OpenBLAS, then it should indeed conflict with other BLAS providers.
Only one BLAS-compatible library should be installed at any time providing blas.
@jedbrown I suggest you create separate requests for packages explicitly requiring openblas to require blas instead, or make openblas optional.
Julia, for one, does not itself need openblas. It only creates a symlink in its lib/julia directory to an openblas library:
community/julia/PKGBUILD/package():
ln -s /usr/lib/libopenblas.so "$pkgdir"/usr/lib/julia/libopenblas64_.so # Needed by some 3rd party packages*
(*There are no third-party packages in Arch repository currently that would need Julia's lib/julia/libopenblas64_.so though.)
Another option for you is to ask AUR/blis maintainer to make the package declare it provides and conflicts with openblas,
and create openblas symlinks to its own blas-compatible library inside its package.
As for julia: no, it can not depend on just blas, check the old bug reports for a history of the topic. /usr/lib/julia/libblas.so is symlinked to libopenblas. And "Needed by some 3rd party packages" does not refer to Arch packages, but to Julia packages.
Sorry for my mistaken assumptions. Your answers have now helped me to understand the rationale behind the request.
Keep up the good work! :)