Skip to content

Standardize ILP64 SONAME and symbols suffix #646

@nalimilan

Description

@nalimilan

Since #459, it is possible to add a suffix to all symbols during the build, so that the ILP64 version of OpenBLAS does not conflict with the LP64 one. This is necessary to avoid interferences between libraries that might be loaded in a given process.

But there's no standardization of the suffixes and of the SONAME. Julia chose 64_ and libopenblas.so (JuliaLang/julia#8734), while Fedora retained no suffix and libopenblas64.so. Other distributions do not ship a ILP64 version AFAIK, but other apps like NumPy have discussed the same issue (numpy/numpy#5906).

Thus, I suggest to define a convention for the SONAME and the suffix before other projects adopt a different one. It could be as simple as writing it in the build instructions; or a bit more automated, like enabling these SONAME and suffix as soon as INTERFACE=64 is set. The first option would already be great.

I would be inclined to retain libopenblas64.so as the SONAME, and 64_ as the suffix. This implies changes to both Julia and Fedora, but it sounds like the most robust solution, and treats both projects equally.

CC: @tkelman @stevengj @susilehtola

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions