-
Notifications
You must be signed in to change notification settings - Fork 288
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
Incorrect VTK configuration flag suggested by configure #3734
Comments
VTK_Group_MPI should be the suggested flag with older versions of VTK. I guess at this point in a configuration we have the vtk header, so we might detect version from that and try to map to configure flag ... but if that's a moving target, do you think it would be reasonable to just suggest "requires VTK to be configured with MPI support"? |
Yeah I think that would be reasonable. I have rarely seen a package give an exact compilation flag for a dependency. |
I am having problems that I think this may be related to this, I am trying to have MOOSE read in a .vtu mesh which I was under the impression should be possible due to its' use of libmesh. But I get an error around libmesh failing to read the mesh:
I have tried installing VTK manually and then running the MOOSE script that reconfigures and installs libmesh with flags in accordance with MOOSE's instructions https://mooseframework.inl.gov/help/faq/faq_build_libmesh-vtk.html , so the paths to VTK's lib and include are given explicitly. I have also tried recreating the vtu file (from an exodus file created in cubit, using meshio for the conversion), all of this appears fine. And VTK itself is able to read my vtu file also. Apologies if I've missed something obvious and this is actually an issue with MOOSE. |
HI @CBqk3762 |
Hi @jvwilliams23
|
Yes seems your libmesh is not picking up VTK. I had that problem before a while ago, and just ended up moving on (I do need to go back and do it at some point though). Maybe worth trying a clean MOOSE/libmesh installation, instead of rebuilding an existing one. |
Okay, I will give it a go, thanks for your help! |
"You must have VTK installed and correctly configured to read VTK meshes." is a libMesh message; if you see that then your libMesh build didn't manage to detect a usable VTK, and there's nothing MOOSE can do at that point. We generally don't give more than a warning at libMesh configure time when that detection failure happens, though, since the rest of libMesh is still usable without VTK. We do have a You might be able to search through the libMesh config.log to see whether it's failing to find VTK headers or failing to build against the library or failing to find MPI support or what. |
I believe I've found the source of the problem, when VTK moved to 9.1 vtkConfigure.h was split across multiple other headers and deprecated https://gitlab.kitware.com/vtk/vtk/-/blob/master/Documentation/release/9.1.md#filters-2 , libmesh can't find it (or vtkVersionMacros.h, but one at a time!) so fails. I am personally using a much older version of VTK (8.2.0) for now as I am working to a deadline, after that I could work on a patch if there isn't the bandwidth. I guess it just needs to be changed to check for the headers then if it doesn't find them check for some of the functions moved from those original headers in the other headers (hopefully that sentence makes sense!) before returning an error. |
Hi,
This is related to #3665 (fixed by @roystgnr).
I was compiling libMesh with VTK (tried 9.3.0 and 9.0.3), but when I managed to get configure to find the headers, it could not compile the test program. I got the following output with VTK-9.0.3:
I then recompiled VTK with
VTK_Group_MPI
, but it said this was an unused variable. The suggested flag should be-DVTK_USE_MPI:BOOL=ON
.Should just require changing
configure
.Best,
Josh
The text was updated successfully, but these errors were encountered: