-
Notifications
You must be signed in to change notification settings - Fork 443
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
Fix configure.ac buglet when used with autoconf 2.70 #1198
Conversation
Autoconf 2.70 is more careful about cross compilation, so with this version using AC_FUNC_MMAP implies AC_CANONICAL_HOST and hence computes $build/build_alias/host/host_alias/etc. Setting $host_alias ourselves interferes with that. Hat tip Matthias Klose (via debbug#978835). As autoconf 2.70 implicitly uses AC_CANONICAL_HOST, it requires (and its autoreconf --install installs) config.guess and config.sub. Ignore those, and ignore install-sh as well for good measure.
Thanks for this John. I see our Travis and Cirrus configs use |
Correct. I have a second draft PR coming up that makes it “2.70-esque native”, with the recommendation that there's no point applying it until autoconf 2.70 is widespread. |
Ok thanks. |
See also PR #1199, which expands on the reasons not to move to using Currently Travis/Cirrus/etc work fine because they are using autoconf 2.69 and the resulting configure script doesn't invoke any of these three support scripts. I guess we could at our leisure change the CI scripts to use |
[email protected] pin is due to changes in autoconf 2.70, compat for which is fixed in htlslib here: `https://github.com/samtools/htslib/pull/1198` remove after updating to htslib>=1.12
* Patch htslib 1.10 to fix build with autoconf 2.70+ details in: samtools/htslib#1198 * Also autoreconf htslib after patching configure.ac * Add automake brew dependency to ci * Add patch to Dockerfile-cli Co-authored-by: Seth Shelnutt <[email protected]>
As detected in Debian bug 978835, HTSlib's ./configure fails when built with autoconf 2.70 (released in December). It is a byproduct of autoconf 2.70 being more careful about cross compilation:
Using the standard
$host_alias
variable name in our shared library check was fun and intended to be mostly already correct if we moved to usingAC_CANONICAL_HOST
at the top of the configure script, but causes problems when autoconf 2.70 implicitly usesAC_CANONICAL_HOST
below our check. The simple fix is to use a variable name that's not used by autoconf, as there are reasons not to move to usingAC_CANONICAL_HOST
just yet.As autoconf 2.70 implicitly uses
AC_CANONICAL_HOST
, it requires (and itsautoreconf --install
installs) config.guess and config.sub. Ignore those, and ignore install-sh as well for good measure.