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

Sporadic failure to build IO in the macOS CI job #4374

Closed
wilfwilson opened this issue Apr 8, 2021 · 5 comments
Closed

Sporadic failure to build IO in the macOS CI job #4374

wilfwilson opened this issue Apr 8, 2021 · 5 comments
Labels
topic: ci Anything related to GitHub Actions, Codecov, AppVeyor, Coveralls, Travis, ...

Comments

@wilfwilson
Copy link
Member

I first mentioned this #4372 (comment) and #4373 (comment).

Starting recently (I first noticed it today, I've seen it about four times so far) the Gather coverage data step sometimes fails in the macOS job (docomp testinstall - BOOTSTRAP_MINIMAL=yes - macos-latest), because it cannot load the profiling package. @ChrisJefferson has looked a little further and noticed that this is because IO fails to build. From #4373 (comment):

Looking at the full log, it's io which is failing to build. I'm not 100% sure what the issue is here:

==== Checking io
2021-04-08T11:49:56.3701800Z + mkdir -p gen
2021-04-08T11:49:56.3722930Z + autoconf -Wall -f
2021-04-08T11:49:56.6746330Z configure.ac:4: warning: The macro `AC_CONFIG_HEADER' is obsolete.
2021-04-08T11:49:56.6752650Z configure.ac:4: You should run autoupdate.
2021-04-08T11:49:56.6753690Z ./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from...
2021-04-08T11:49:56.6754580Z configure.ac:4: the top level
2021-04-08T11:49:56.6756010Z configure.ac:14: warning: The macro `AC_HEADER_STDC' is obsolete.
2021-04-08T11:49:56.6757030Z configure.ac:14: You should run autoupdate.
2021-04-08T11:49:56.6757980Z ./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
2021-04-08T11:49:56.6758860Z configure.ac:14: the top level
2021-04-08T11:49:56.6760160Z configure.ac:24: warning: The macro `AC_HEADER_TIME' is obsolete.
2021-04-08T11:49:56.6761140Z configure.ac:24: You should run autoupdate.
2021-04-08T11:49:56.6762080Z ./lib/autoconf/headers.m4:743: AC_HEADER_TIME is expanded from...
2021-04-08T11:49:56.6763050Z configure.ac:24: the top level
2021-04-08T11:49:56.7688140Z + autoheader -Wall -f
2021-04-08T11:50:01.4933090Z Running './configure' '--with-gaproot=/Users/runner/work/gap/gap' 
2021-04-08T11:50:01.9169440Z configure: error: cannot find required auxiliary files: config.guess config.sub
2021-04-08T11:50:01.9748500Z Running 'make' 'clean' 
2021-04-08T11:50:01.9846550Z make: *** No rule to make target `clean'.  Stop.
2021-04-08T11:50:01.9948710Z Running 'make' 
2021-04-08T11:50:02.0050840Z make: *** No targets specified and no makefile found.  Stop.
2021-04-08T11:50:02.0152060Z 
2021-04-08T11:50:02.0253320Z WARNING: Failed to build io

Failure instances:

@wilfwilson wilfwilson added the topic: ci Anything related to GitHub Actions, Codecov, AppVeyor, Coveralls, Travis, ... label Apr 8, 2021
@wilfwilson
Copy link
Member Author

It actually seems to be very frequent, indeed I haven't managed to get this job to pass on #4372 for quite a while now. I'll also note that GAP is compiled without readline in the macOS job:

 ┌───────┐   GAP 4.12dev built on 2021-04-08 12:01:19+0000
 │  GAP  │   https://www.gap-system.org
 └───────┘   Architecture: x86_64-apple-darwin19.6.0-default64-kv8
 Configuration:  gmp 6.2.1, GASMAN, KernelDebug
 Loading the library and packages ...
 Packages:   GAPDoc 1.6.4, IO 4.7.0dev, PrimGrp 3.4.1, SmallGrp 1.4.2, 
             TransGrp 3.0
 Try '??help' for help. See also '?copyright', '?cite' and '?authors'
Architecture: x86_64-apple-darwin19.6.0-default64-kv8

(that's of course an example of a build where IO did actually compile).

@fingolfin
Copy link
Member

This is caused by the fact that autoconf recently was update to 2.71 (after years of no activity at all), and apparently they decided it's a good idea to suddenly deprecate a ton of stuff. And homebrew now ships it. The fact that it only hits us sometimes likely is due to difference in the various macOS VMs used by GitHub; I assume the issue will happen more and more often...

I can work on a fix for io, but it is likely that similar issues will affect more packages...

@wilfwilson
Copy link
Member Author

Ah, thank you for diagnosing this @fingolfin.

Temporarily, we could remove the code coverage from the Mac build - we would lose coverage data for Mac-specific code, but (if such a job doesn’t already exist) we could replicate the rest of the coverage in another Ubuntu job. That would stop IO from needing to be built. What do you think?

@ChrisJefferson
Copy link
Contributor

ChrisJefferson commented Apr 9, 2021

I tried temporarily fixing this based on https://bugs.ruby-lang.org/issues/17723 ( which said run autoreconf -f -i). That actually seemed to fix it on my machine -- still lots of warnings, but at least it built. In https://github.com/ChrisJefferson/gap/tree/fix-autoconf271 (only change is in BuildPackages.sh, where I add:

    # (Hopefully) temporary fix for Autoconf 2.71
    if [[ $(which autoreconf) && ! -x config.sub ]]
    then
      autoreconf -f -i
    fi

@wilfwilson wilfwilson linked a pull request Apr 9, 2021 that will close this issue
wilfwilson added a commit to wilfwilson/gap that referenced this issue Apr 10, 2021
Currently the macOS job is failing because IO is not building,
which is requiring by the code coverage system, and this causes the
job to fail. See:

gap-system#4374

By adding NO_COVERAGE=1 to this job, IO will no longer need
to be compiled. Obviously, in the long term we want coverage on this
job, and we want to be able to compile IO, but this will get the
CI running for the rest of GAP in a non-controversial way in the
meantime, I hope.
@fingolfin
Copy link
Member

I believe this issue has been resolved by my changes to io. Can it be closed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: ci Anything related to GitHub Actions, Codecov, AppVeyor, Coveralls, Travis, ...
Projects
None yet
Development

No branches or pull requests

3 participants