True at the detailed binary level, though not so convenient for routine system maintenance.
That helps me understand the current situation. The question of cblas.h certainly complicates any simpler solution, especially since we're trying to eliminate it anyway. But I'm coming to understand that handling libblas.a is the real underlying motivation for the two blas alternatives (libblas.so and libblas.so.3. That is, even though it's identified as libblas.so, really that alternative is about libblas.a, not libblas.so. I missed that point initially since I'm currently Preferring blis, so I don't see any /usr/lib/<triplet>/libblas.a. I had assumed it was general treated as "deprecated". My first thought was that libblas.so could just be a common direct symlink to libblas.so.3, no alternative needed. But that won't address libblas.a alternatives. My second thought was that the libblas.so (libblas.a) alternatives could be slaves to libblas.so.3 so there's only one alternative to set. But that doesn't work since one is "libblas-dev" and the other is "libblas3", different packages, and of course libblas3 can be installed without libblas-dev. So maybe what we've got is the best we can do, in order to handle both libblas.a and libblas.so.3. 1) Can an indentured servant (not "slave") alternative be set up for libblas.so, that trackes libblas.so.3 What I have in mind is the way an alternative for hdf5-mpi.pc is set, which is configured contingent on the alternative for mpi (see libhdf5-openmpi-dev.postinst). It's not completely stable however, and won't be automatically updated if the system adminstrator changes the preferred mpi (it gets refreshed whenever libhdf5-openmpi-dev is reconfigured or updated). 2) Since the libblas.so alternative is not actually about libblas.so, should it just be renamed to libblas.a? Then it would be more correct about what the alternative is for. Or rename as cblas.h, if that' more key than libblas.a? (I'm curious to know why libblis.a can't link in place of libblas.a. It has the blas symbols doesn't it, as well as other symbols?) Drew |