-
Notifications
You must be signed in to change notification settings - Fork 110
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
Master fails to Build Under Ubuntu 22-04 LTS #3405
Comments
If u want to build with mpi support, you need the mpi enabled hdf5 library. And a clean build directory. |
Easy for you, not so easy for me :-) What is the command to install the mpi enabled hdf5 library:
Also, does it require a clean build in all four repositories? |
Does this mean that hdf5 is a required dependency? |
Indeed, this has bitten us twice now :) |
No it is not a required but serial hdf5 library will not work with a mpi build. apt install libhdf5-openmpi-dev. Onyl simulators needs clean build. |
@akva2 Thanks, will try this now. |
For what it's worth, If you don't need (or want) to test/enable the experimental serialisation/perfect restart support you can disable all of HDF5 by setting
when configuring the build. That will allow you to build both sequential and MPI versions of the simulator irrespective of what HDF5 libraries may or may not be available on your system. If you do want to enable the serialisation support in an MPI build then you'll need the parallel HDF5 libraries as mentioned earlier. |
Show me the cmake output for opm-simulators. |
@akva2 you need to be a bit more specific, as there are many cmake files |
Don't know how to be more specific. Show me the cmake output when you configure opm-simulators. In particular what is printed for hdf5. |
Is this it. |
No, i mean terminal output. Only on my phone as i am on vacation so hard to open zip files. |
Is this what you need: |
Let's cut this short: @akva2 Hands away from the keyboard on vacation... |
It's installed
And I keep on getting this:
|
Hei, this file is an example what @akva2 want to see. It is the screen output for cmake, from inside, you can see the following lines,
|
Very likely your cmake found the wrong HDF5 header file, probably the serial HDF5 header file? That was how I got the exactly the same compilation error message with you. Deleting the content in the build folder and redo the cmake helped me to fix the compilation. |
And if I did not clean the build folder, just redo cmake, I obtained the following,
and I got the same compilation failure. |
OK, I have verified this and the buildsystem does not detect if it is an MPI build but there is just a serial hdf5 library (package libhdf5-dev with the mpi counterpart). I think that is the situation @OPMUSER was in. On the other hand not having restart in a serial build seems rather unfortunate. Maybe we should think about requiring MPI? |
You can have both libraries installed at the same time. But yes, we should fail/disable if mpi is enabled and only the serial lib was found |
Are you saying that with serial hdf5 and serial OPM we have restart? |
Yes. |
We rely on parallel hdf5 for a parallel build of OPM flow. Otherwise compilation will fail. Hence if this is a parallel build but only a serial hdf5 library found we now issue an informative warning and deactivate hdf5/parallel restart. Closes OPM/opm-common#3405
@OPMUSER Indeed you have to install libhdf5-mpi-dev (apt-get install libhdf5-mpi-dev) and do a clean build of opm-simulators (make -j4 clean all) to fix this. |
We rely on parallel hdf5 for a parallel build of OPM flow. Otherwise compilation will fail. Hence if this is a parallel build but only a serial hdf5 library is found, we now issue an informative warning and deactivate hdf5/parallel restart. Closes OPM/opm-common#3405
We rely on parallel hdf5 for a parallel build of OPM flow. Otherwise compilation will fail. Hence if this is a parallel build but only a serial hdf5 library is found, we now issue an informative warning and deactivate hdf5/parallel restart. Closes OPM/opm-common#3405
We rely on parallel hdf5 for a parallel build of OPM flow. Otherwise compilation will fail. Hence if this is a parallel build but only a serial hdf5 library is found, we now issue an informative warning and deactivate hdf5/parallel restart. Closes OPM/opm-common#3405
We rely on parallel hdf5 for a parallel build of OPM flow. Otherwise compilation will fail. Hence if this is a parallel build but only a serial hdf5 library is found, we now issue an informative warning and deactivate hdf5/parallel restart. Closes OPM/opm-common#3405
We rely on parallel hdf5 for a parallel build of OPM flow. Otherwise compilation will fail. Hence if this is a parallel build but only a serial hdf5 library is found, we now issue an informative warning and deactivate hdf5/parallel restart. Closes OPM/opm-common#3405
Okay, I still cannot build master. I have deleted the build directory and re-created it, and I have run
And both versions of HD5 are installed. |
Dumb question. Why do we need to support serial build? Why not just support mpi, as all modern computers have multiple CPU's. |
I don't think this will work in my case. The problem is cmake finds the wrong version of the hdf5 libraries, when both serial and mpi versions are installed. So somehow we need to link a serial build with the serial hdf5 libraries, similarly for the mpi libraries. If the correct library is not found, then terminate the build. If I do the following:
Then everything works. |
Yes, now you found the mpi version of HDF5,
not totally sure whether removing the serial HDF5 was necessary, but I removed it also on my side. |
Closing as I have a workaround, but we may still have a build issue. |
Well if the test in older versions of cmake don't work, then there is not much we can do. At least my fix fixes the case where there is only serial hdf5 and a parallel build. |
We rely on parallel hdf5 for a parallel build of OPM flow. Otherwise compilation will fail. Hence if this is a parallel build but only a serial hdf5 library is found, we now issue an informative warning and deactivate hdf5/parallel restart. Closes OPM/opm-common#3405
I get this today when trying to build master:
The text was updated successfully, but these errors were encountered: