]> granicus.if.org Git - graphviz/commit
CI: hard code platform when running './configure' on Cygwin
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 10 Dec 2022 22:04:10 +0000 (14:04 -0800)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 10 Dec 2022 22:18:29 +0000 (14:18 -0800)
commitae2343c6c922d647b8b3fb926444ee7475f932ff
tree500f42512ba33bc2da58b9c212c09c096a26200e
parent78a0bc0c38f1c0f0f8e7de3a064a405e11a8357c
CI: hard code platform when running './configure' on Cygwin

The Cygwin Autotools builds have begun failing in CI:

  + ./configure --prefix=/cygdrive/c/GitLab-Runner/builds/smattr/graphviz/
    graphviz-7.0.5~dev.20221210.2041/build
  checking build system type... config/config.guess: unable to guess system type

  This script (version 2018-02-24), has failed to recognize the
  operating system you are using. If your script is old, overwrite *all*
  copies of config.guess and config.sub with the latest versions from:

    https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
  and
    https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub

  If config/config.guess has already been updated, send the following data and any
  information you think might be pertinent to config-patches@gnu.org to
  provide the necessary information to handle your system.

  config.guess timestamp = 2018-02-24

  uname -m = .x86_64
  uname -r = 3.4.1-1.x86_64
  uname -s = CYGWIN_NT-10.0-17763
  uname -v = 2022-12-10 19:59 UTC

  /usr/bin/uname -p = unknown
  /bin/uname -X     =

  hostinfo               =
  /bin/universe          =
  /usr/bin/arch -k       =
  /bin/arch              = .x86_64
  /usr/bin/oslevel       =
  /usr/convex/getsysinfo =

  UNAME_MACHINE = ".x86_64"
  UNAME_RELEASE = "3.4.1-1.x86_64"
  UNAME_SYSTEM  = "CYGWIN_NT-10.0-17763"
  UNAME_VERSION = "2022-12-10 19:59 UTC"
  configure: error: cannot guess build type; you must specify one

config.guess is one of those scripts that is manually copy-pasted between GNU
projects. In this instance, it is the copy within Automake that is being used.
CI appears to be installing the very latest version of Automake at time of
writing (1.16.5), so upgrading Automake is not a fix here.

Cross referencing the upstream version of config.guess in Savannah¹, there have
been a lot of changes to this file since the version Automake is carrying². But
none of them jump out as something that would affect Cygwin detection in this
way.

So this commit works around the problem on our side. We hard code the guess that
`./configure` should have made. Note that this change uses the guess text from
the newer config.guess, `x86_64-pc-cygwin`, instead of the guess text from the
older version of config.guess Automake is carrying, `x86_64-unknown-cygwin`.

If this problem turns out to have a root cause in Automake and is fixed in
future, we should be able to revert this change.

¹ https://savannah.gnu.org/projects/config/
² 72 commits touching this file since the version Automake is carrying
  (2018-02-24). Total diff of these commits to config.guess is 2143 lines.
ci/build.sh