You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current 2.18.1 hypre code sets the soname for HYPRE shared libraries using HYPRE_RELEASE_VERSION,
e.g. SONAME = libHYPRE-${HYPRE_RELEASE_VERSION}${HYPRE_LIB_SUFFIX} in src/lib/Makefile
In principle it means 2.18.1 is not ABI compatible with 2.18.0. Is this the intention, or should the 2.18 series be considered compatible (in which case the soname could be libHYPRE-2.18.so rather than libHYPRE-2.18.1.so).
If each patch release is intended to be considered incompatible, then could I trouble you to consider putting a comment in INSTALL.md or README.md to document that? That would help avoid confusion about the ABI policy in the future, since usually libraries are ABI compatible across patch releases.
The text was updated successfully, but these errors were encountered:
Thanks for pointing this out. I'm not a fan of shared libraries (way too complicated) and didn't even know ABI compatibility was a thing. It looks like ensuring this would require a fair amount of work that isn't worthwhile for this project at this point in time, but your suggestion of commenting on ABI compatibility in the INSTALL.md file is a good one. I just pushed an update to master.
If this becomes a big issue for users in the future, we'll revisit this question. Thanks again!
The current 2.18.1 hypre code sets the soname for HYPRE shared libraries using HYPRE_RELEASE_VERSION,
e.g.
SONAME = libHYPRE-${HYPRE_RELEASE_VERSION}${HYPRE_LIB_SUFFIX}
in src/lib/MakefileHYPRE_RELEASE_VERSION is set from HYPRE_VERSION in src/config/Makefile.config.in. HYPRE_VERSION is the full major.minor.patch version set in src/CMakeLists.txt or src/config/configure.in. So the current value of HYPRE_VERSION is 2.18.1.
In principle it means 2.18.1 is not ABI compatible with 2.18.0. Is this the intention, or should the 2.18 series be considered compatible (in which case the soname could be libHYPRE-2.18.so rather than libHYPRE-2.18.1.so).
If each patch release is intended to be considered incompatible, then could I trouble you to consider putting a comment in INSTALL.md or README.md to document that? That would help avoid confusion about the ABI policy in the future, since usually libraries are ABI compatible across patch releases.
The text was updated successfully, but these errors were encountered: