tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: BLAS in pkgsrc: present and future

Am Wed, 24 Apr 2019 09:18:58 -0500
schrieb Jason Bacon <>:

> I think the system should choose the first implementation listed in 
> [PKGSRC_]BLAS_PREFERRED in all cases except where it conflicts with 
> [PKGSRC_]BLAS_ACCEPTED, in which case is chooses the first in ACCEPTED.

Sounds reasonable. Is this current practice for other such choices?

So, this would mean, mk.conf can contain


for the logic indicated above, but also


to really only allow one implementation being used (and have some
packages possibly being incompatible with this choice). Right?

> causing serious problems.  One of my genomics apps, plink, currently 
> dumps core when built with openblas and works fine with netlib.

Is this with any openblas variant or only a parallel one? I'd consider
this a serious bug to investigate, if it is the serial one at least.

> I don't think there are any major risks to installing multiple BLAS 
> versions.  I've been doing it for years with FreeBSD ports, where each 
> port selects its own implementation independently.

Sure, I also install all of them.

> I don't think there's much chance of collisions using BLAS_*, but it is 
> theoretically possible that an application could use something like 
> BLAS_PREFERRED with different semantics.  Using PKGSRC_BLAS_* might be 
> better just for the sake of self-documentation, so people know at a 
> glance that they're looking at a PKGSRC knob rather than an upstream knob.

Are we talking about the variables to be set in mk.conf now or also
about the resulting variables sets for the package?
Everything shall have PKGSRC_ prefix? Also BLAS_LIBS?

What would an upstream knob look like in a pkgsrc Makefile? I mean …
all variables there are pkgsrc variables, the upstream stuff is only
explicitly set via MAKE_ENV etc. What's a possible case of confusion? I
do see a possible conflict with the pkgsrc Makefile defining variables
for local use, sure. But what's upstream here?

I can deal with anything, just want to make sure what's the preferred
way and I understand why.

Alrighty then,


Dr. Thomas Orgis
HPC @ Universität Hamburg

Home | Main Index | Thread Index | Old Index