-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Silo's autogen script cannot find the hdf5 library when hdf5 is built in Debug mode using CMake #369
Comments
I believe our transition to full CMake builds is not quite complete. Is there any chance you can use the AutoTools build instead? Regarding If you have installed HDF5 yourself, can you create symlinks in the HDF5 install point to make a Silo's Autotools build allows for |
Hello, Thanks for your feedback. I think that the use of a debug postfix in the library name is pretty standard with CMake because it allow to build both I have seen lot of projects that are using this convention (for example VTK, curl or vcpkg) so I have no hope that the hdf5 developpers will change this feature for me ;-). The idea of a symbolic link isn't really feasible because it may break up the user's hdf5 installations (Release builds have already the Best |
Well, there are other approaches to handling that including installing a debug version of the library at a different path as in And, one reference you mention is aimed at trying to install the same library in the same install point but with different features....in this case debugging enabled or not. But, why stop at debugging though? Why not install the same library but different versions or for different CPU architectures or with MPI enabled or how about combinations (MPI without debugging and MPI with debugging) etc. In all cases I have experience with, these are all handled by installing the same I believe this is how Spack operates when it installs different variants of the same library...different install points not differently named installed packages. Now, as it turns out, the Silo library kinda sorta does install differently named packages. But, its install logic has always done this. From the first time HDF5 was introduced, Silo installs |
Also, quoting from the first ref you offer,...
|
I understand: honnestly I have no opinion on the library naming convention (I am not expert in compilation, installation or packaging), I just wanted to point out that the postifx inside the hdf5 library name is not an error from the hdf5 developpers but a conscious choice. In consequence, it's unlikely that they'll rename their library if I open an issue. On the other hand, current On another note, I agree that:
Anyways, from my side, it's a sticking point for compiling the TPLs for one of the projects I'm working on:
I hope to convince you that fixing this compatibility issue is in the interests of your user community (;-)). Thanks again for you answers, |
Hello,
Thank you for providing the Silo library.
I have issue to build the release 4.11 of Silo with hdf5 capabilities when hdf5 is built in Debug mode using CMake: in this case, CMake appends the
_debug
postfix to the library name (so the produced library is namedlibhdf5_debug.[ so | dylib | a ...]
.As the
configure
script of Silo searches for thehdf5
library, hdf5 is not founded and the build fails.Additional informations:
I can reproduce this issue:
I am using the release 1.12.1 of hdf5 but I can reproduce the issue with other versions;
Building hdf5 using Autogen works as the library is always named
libhdf5
;Building hdf5 with CMake in other modes than the
Debug
one (RelWithDebInfo
,Release
, ...) works too (for the same reason, the library is namedlibhdf5
);using the CMake build of the
main
branch of Silo solves the link issue but I would prefer to stick with a stable version of Silo.Questions
$LIBS
variable is not safe as a user can have 2 coexisting versions of the hdf5 library (a Debug version and another one and the hard coded-lhdf5
will find the unwanted version)?Thank you by advance for your help,
Best
The text was updated successfully, but these errors were encountered: