Skip to content
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

Get ESMF Compiling on Cygwin, and set up a CI run #201

Merged

Conversation

DWesl
Copy link
Collaborator

@DWesl DWesl commented Dec 5, 2023

I updated my ESMF build on Cygwin, and tried to generalize my changes from the last time I did this so ESMF would still compile on Linux.

I also added a CI run to ensure ESMF compilation gets checked. I think I set up the tests to run as well, but I'm less sure of that.

Might close #136; I'm not sure if they're after a Cygwin build of ESMF or a 64-bit MinGW/Windows build of ESMF. PR #149 suggests they're after a MinGW-w64 build but are trying to do it in Cygwin without cross-compilers for whatever reason.

DWesl added 14 commits November 20, 2023 08:30
So far only tests whether ESMF actuall compiles on Cygwin.  I don't actually run the tests yet.

I will need to figure out how to add "-D_BSD_SOURCE" to C++ compile lines before it completes.
This should let the compilation start.
Hopefully this lets me figure out the unexpected end of file errors.
Forgot that Windows git would put \r\n line endings, which Cygwin doesn't like.
Many declarations are hidden behind visibility macros.
_BSD_SOURCE un-hides most of them.
_POSIX_C_SOURCE un-hides another couple.
Cygwin is more like Windows than Linux here: make sure the import library gets generated in addition to the DLL and that both have the right names.

Import library: lib${name}.dll.a
Shared library: cyg${name}-${abi}.dll or cyg${name}.dll
I forgot the semicolons, so bash didn't recognize the control structures.
Not sure if this will fix the failure, the error wasn't very clear.
@danrosen25 danrosen25 requested a review from theurich December 6, 2023 17:56
@theurich theurich changed the base branch from develop to feature/esmf-cygwin-compile December 8, 2023 19:19
@theurich
Copy link
Member

theurich commented Dec 8, 2023

I am going to merge this PR into a branch under the esmf-org/esmf repo so we can collaborate on it better. It should be open for everyone.
@DWesl please re-open the PR from the new branch: https://github.com/esmf-org/esmf/tree/feature/esmf-cygwin-compile. Just copy your initial description. Thanks!

@theurich theurich merged commit 7689a41 into esmf-org:feature/esmf-cygwin-compile Dec 8, 2023
@DWesl
Copy link
Collaborator Author

DWesl commented Dec 8, 2023

It doesn't want to let me because I'm not a collaborator.

@theurich
Copy link
Member

theurich commented Dec 8, 2023

Good point... I thought we had this open, guess not. Let me discuss this with the team... we might invite you as collaborator for this.... I think it will make this easier, especially for testing the action.

@theurich
Copy link
Member

theurich commented Dec 8, 2023

@DWesl - you should receive an invite for collaborator. After you accept, please re-open your PR from branch https://github.com/esmf-org/esmf/tree/feature/esmf-cygwin-compile.

Thanks!

@DWesl
Copy link
Collaborator Author

DWesl commented Dec 8, 2023

#202

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build config fixes for Cygwin
2 participants