Skip to content

Restore full Cygwin64 on Jenkins#9931

Merged
xavierleroy merged 2 commits intoocaml:trunkfrom
dra27:jenkins-cygwin64
Dec 4, 2020
Merged

Restore full Cygwin64 on Jenkins#9931
xavierleroy merged 2 commits intoocaml:trunkfrom
dra27:jenkins-cygwin64

Conversation

@dra27
Copy link
Copy Markdown
Member

@dra27 dra27 commented Sep 21, 2020

#9927 restores shared library and natdynlink support for Cygwin64. We no longer need to run Cygwin64 with --disable-shared - indeed, it's better not to (in order to catch errors in any new runtime functions which should be being exported).

This can't be merged yet, since it requires:

@dra27
Copy link
Copy Markdown
Member Author

dra27 commented Dec 4, 2020

@shindere / @xavierleroy - would you like to update both the Cygwin workers and Jenkins to have the FlexDLL 0.39 package from Cygwin? It needs setup to be run manually so that "Test" packages can be checked. It should then automatically offer 0.39-1 as an update to the flexdll package (if it doesn't, you might need a different mirror - https://mirrorservice.org has definitely updated).

I've tested it on my machine, but it would of course be good to have trunk and 4.12 being regularly tested with a full Cygwin64 build.

@dra27 dra27 marked this pull request as ready for review December 4, 2020 13:43
@xavierleroy
Copy link
Copy Markdown
Contributor

I updated the Cygwin64 worker with FlexDLL 0.39-1. Maybe we can keep the old FlexDLL on the Cygwin32 worker for a bit longer? As to "updating Jenkins to have FlexDLL" I don't know what that means.

Copy link
Copy Markdown
Contributor

@xavierleroy xavierleroy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me, and now we have ways to test it! Thank you very much.

@xavierleroy xavierleroy merged commit 0f7d0a6 into ocaml:trunk Dec 4, 2020
@dra27
Copy link
Copy Markdown
Member Author

dra27 commented Dec 4, 2020

Sorry, I don’t know if it was “damn you autocorrect” or just Friday madness but I meant on Jenkins, not and Jenkins!

@xavierleroy
Copy link
Copy Markdown
Contributor

So, Jenkins ran the testsuite on Cygwin64 and there's a handful of errors like

>      14 [main] ocamlrun 10122 child_info_fork::abort: address space needed by 'dllunix.so' (0x440000) is already occupied
> Fatal error: exception Unix.Unix_error(Unix.EAGAIN, "create_process", "/bin/sh")

It also happens when calling Unix.fork().

I'm afraid this is not the end of the Cygwin64 story...

@dra27
Copy link
Copy Markdown
Member Author

dra27 commented Dec 7, 2020

That's strange, given that the DLL should never have a base address that low. I'll have a look - we're at least now in the realm of Cygwin64 not working, rather than FlexDLL!

@xavierleroy
Copy link
Copy Markdown
Contributor

I may have botched the Cygwin upgrade (or upgraded the wrong machine...). Let me try again.

@xavierleroy
Copy link
Copy Markdown
Contributor

After a proper upgrade of the Cygwin64 host, CI succeds! Happy end for a long story. Thanks for all the efforts.

dbuenzli pushed a commit to dbuenzli/ocaml that referenced this pull request Mar 25, 2021
* Enable full Cygwin64 build on precheck
* Remove dorebase option, no longer required.
@dra27 dra27 deleted the jenkins-cygwin64 branch July 6, 2021 14:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants