-
Notifications
You must be signed in to change notification settings - Fork 79
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
Build config fixes for Cygwin #136
Comments
@robin-deltares best just to make fork, create a branch under your fork, and then issue a PR when ready to be reviewed and merged back into the ESMF develop branch (or maybe even a patch branch for a recent release). Let us know if you have questions. |
I've progressed a lot. Changes:
When I've reached a successful build, I'd like to have working code put upstream in a more appropriate manner so that we can build future releases straight from the source, but then I'd need some help. |
Infrastructure and Superstructure were able to build. Had some problems with scopes though, e.g.: src/Infrastructure/Mesh/src/Moab/FileOptions.cpp:58:17: error: ‘strdup’ was not declared in this scope; did you mean ‘strcmp’? src/Infrastructure/Mesh/src/Moab/GeomQueryTool.cpp:1495:27: error: ‘M_PI’ was not declared in this scope Will now try to build the whole package. |
🎉 The suite has been built.
Building the tests now. |
Worked inside of Cygwin, but outside of Cygwin openmpi gives problems with missing /dev/shm and some text-file using a Unix-path. Retrying build with mpiuni. |
Success.
I'm not proud of my fork, but it works on my machine. develop...robin-deltares:esmf:Fix-Cygwin-build-configuration-and-code-switches |
Great progress. Please open a PR when you are ready to bring this into the mainline development branch so we can review. Thanks! |
Would you like me to create a PR as-is? As I think it would be most efficient to make it proper with the help of somebody who has a better understanding of the ESMF code and programming in general. I'd be open to a Teams-meeting, for instance, to shortly explain what I changed and why, to discuss a better implementation. |
I see you have a link to your fork in your earlier comment. Somehow I missed that earlier. This is fine, and no PR needed. We can take it from here.... but might ask you to test a snapshot once we have it on your machine... since the group currently does not have access to a Cygwin setup. |
Yes, will do! |
Our company-testbench failed with my build, because it needed PIO (which I disabled previously due to errors). (I only did the ESMF-provided ESMF_RegridWeightGenUTest.exe unit test for the function earlier, which passed)
With some tinkering I was able to build IO with PIO enabled: robin-deltares@4b459fd I added comments with my reasoning behind the changes. Trying a full build now. |
Making the DLL failed. Mostly MPI signals that seem to not be defined for the mpiuni stub? |
|
It seems PIO is a requirement for ESMF_RegridWeightGen.exe and I was able to build and run ESMF with OpenMPI within Cygwin, but not outside of Cygwin due to /dev/shm and other Unix-paths. What combination of options would be the way forward for me? |
I suspect that the
in the specific (OpenMPI) section in your |
@robin-deltares - we are nearing the 8.5.0 freeze, and I am looking at bringing your Cygwin port into develop before the freeze. |
@robin-deltares, please let me know if your https://github.com/robin-deltares/esmf/commits/Fix-Cygwin-build-configuration-and-code-switches branch is ready. I'd like to avoid looking at it if it's not quite ready. Thanks! |
I opened PR #149 to review the changes on @robin-deltares' branch, and bring them into a branch (https://github.com/esmf-org/esmf/tree/fix/cygwin) under the esmf-org/esmf repo. From there it can be run with full regression testing across platforms, and worked on before opening the final PR into develop. |
At Deltares we use an old version of ESMF on Windows and I'm trying to build a recent version.
Using the MinGW build config works, but that is i686-based.
Copying some MinGW flags to the Cygwin build config gets me further, but there are some non-functional (ESMF_OS_MinGW instead of ESMF_NO_SIGNALS, for instance) code-switches that still make it fail.
I would like to request permission to create a feature-branch for correcting the Cygwin flags and making the code-switches functional.
The text was updated successfully, but these errors were encountered: