Title: FlexiBLAS migration imminent
Author: Sam James <sam@gentoo.org>
Posted: 2025-11-30
Revision: 2
News-Item-Format: 2.0
Display-If-Installed: app-eselect/eselect-blas
Display-If-Installed: app-eselect/eselect-cblas
Display-If-Installed: app-eselect/eselect-lapack
Display-If-Installed: sci-libs/blis
Display-If-Installed: sci-libs/flexiblas
Display-If-Installed: sci-libs/lapack
Display-If-Installed: sci-libs/mkl
Display-If-Installed: sci-libs/openblas
Display-If-Installed: virtual/blas
Display-If-Installed: virtual/cblas
Display-If-Installed: virtual/lapack
Display-If-Installed: virtual/lapacke
Gentoo is adopting FlexiBLAS (sci-libs/flexiblas) [0][1] as the primary way of
switching BLAS implementations at runtime.
The previous eselect-based 'eselect-blas', 'eselect-cblas', and 'eselect-lapack'
approach will be phased out in favor of this because of various reliability
problems we hit.
The defaults in profiles will change shortly for stable users. For ~arch
users, the default was changed a little while ago.
Action required
---------------
Please check your configuration for any stale references to eselect-ldso:
$ grep -rsin eselect-ldso /etc/portage
and drop any reference to to it in make.conf USE or package.use.
Please also deselect the relevant packages from world:
$ emerge --deselect app-eselect/eselect-blas app-eselect/eselect-cblas
$ emerge --deselect app-eselect/eselect-lapack
Then complete a world upgrade and depclean:
$ emerge -a -uvDU @world
$ emerge -ac
Using flexiblas
---------------
Most users do not need to worry about this and the defaults will be fine.
For users that want to, FlexiBLAS allows both system-wide and per-user
configuration and supersedes the functionality from the old setup. Please
refer to the flexiblas(1) man page for details.
[0] https://public-inbox.gentoo.org/gentoo-dev/db65740b619e7b2413ac2b4b06f94db960f3e46e.camel@gentoo.org/
[1] https://bugs.gentoo.org/963034