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

Regenerating the configure script fails even if dependencies are satisfied #88201

Closed
pablogsal opened this issue May 4, 2021 · 15 comments
Closed
Assignees
Labels
3.9 only security fixes 3.10 only security fixes 3.11 bug and security fixes build The build process and cross-build

Comments

@pablogsal
Copy link
Member

BPO 44035
Nosy @brettcannon, @tiran, @pablogsal, @miss-islington
PRs
  • bpo-44035: Check autoconf files thoroughly (GH-29935) #29935
  • [3.10] bpo-44035: Check autoconf files thoroughly (GH-29935) (GH-29937) #29937
  • [3.9] bpo-44035: Check autoconf files thoroughly (GH-29935) (GH-29938) #29938
  • bpo-44035: Show git diff after autoreconf and regen (GH-30117) #30117
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = 'https://github.com/tiran'
    closed_at = <Date 2021-12-06.12:50:28.759>
    created_at = <Date 2021-05-04.16:58:34.295>
    labels = ['build', '3.9', '3.10', '3.11']
    title = 'Regenerating the configure script fails even if dependencies are satisfied'
    updated_at = <Date 2022-03-10.09:04:38.303>
    user = 'https://github.com/pablogsal'

    bugs.python.org fields:

    activity = <Date 2022-03-10.09:04:38.303>
    actor = 'christian.heimes'
    assignee = 'christian.heimes'
    closed = True
    closed_date = <Date 2021-12-06.12:50:28.759>
    closer = 'christian.heimes'
    components = []
    creation = <Date 2021-05-04.16:58:34.295>
    creator = 'pablogsal'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 44035
    keywords = ['patch']
    message_count = 15.0
    messages = ['392920', '392921', '392922', '392924', '392930', '392931', '392932', '393276', '393281', '407794', '407797', '407798', '408789', '414114', '414833']
    nosy_count = 4.0
    nosy_names = ['brett.cannon', 'christian.heimes', 'pablogsal', 'miss-islington']
    pr_nums = ['29935', '29937', '29938', '30117']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'compile error'
    url = 'https://bugs.python.org/issue44035'
    versions = ['Python 3.9', 'Python 3.10', 'Python 3.11']

    @pablogsal
    Copy link
    Member Author

    I have installed autoconf-archive and autoconf 2.69 and tried to regenerate the configure script and it fails:

    $ ls /share/aclocal/ax_* | wc -l
    572
    
    $ autoconf --version
    autoconf (GNU Autoconf) 2.69
    Copyright (C) 2012 Free Software Foundation, Inc.
    License GPLv3+/Autoconf: GNU GPL version 3 or later
    <http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

    Written by David J. MacKenzie and Akim Demaille.

    $ autoreconf -v -f -i
    autoreconf: Entering directory `.'
    autoreconf: configure.ac: not using Gettext
    autoreconf: running: aclocal --force
    autoreconf: configure.ac: tracing
    autoreconf: configure.ac: not using Libtool
    autoreconf: running: /opt/bb/bin/autoconf --force
    autoreconf: running: /opt/bb/bin/autoheader --force
    autoreconf: configure.ac: not using Automake
    autoreconf: Leaving directory `.'
    
    $ ./configure
    configure: error: Please install autoconf-archive package and re-run autoreconf

    @pablogsal
    Copy link
    Member Author

    Reverting 5d6e8c1 works

    @pablogsal
    Copy link
    Member Author

    Also:

    grep -r AX_C_FLOAT_WORDS_BIGENDIAN /share/aclocal/
    ax_c_float_words_bigendian.m4:# AX_C_FLOAT_WORDS_BIGENDIAN([ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-UNKNOWN])
    ax_c_float_words_bigendian.m4:AC_DEFUN([AX_C_FLOAT_WORDS_BIGENDIAN],
    ax_c_float_words_bigendian.m4:])# AX_C_FLOAT_WORDS_BIGENDIAN

    @tiran
    Copy link
    Member

    tiran commented May 4, 2021

    Dpes /opt/bb/bin/autoconf pick up the files in /share/aclocal? Both are rather unusual file locations.

    @pablogsal
    Copy link
    Member Author

    Yep, I am also setting ACLOCAL_PATH to make sure it picks it up.

    To be honest I think this has to be something about the weird setup in this machine but I think more people may run into this so it may be worth to include this in the News entry and close the issue once I figure it out

    @tiran
    Copy link
    Member

    tiran commented May 4, 2021

    I got you covered:

    $ podman run -v.:/src:Z tiran/cpython_autoconf
    $ docker run -v.:/src tiran/cpython_autoconf

    @tiran
    Copy link
    Member

    tiran commented May 4, 2021

    Container image definition is at https://github.com/tiran/cpython_autoconf

    I propose to test this a bit, get feedback, and then move the code and image to python infrastructure. I chose Alpine because it's the least controversial one.

    @tiran tiran added 3.10 only security fixes 3.11 bug and security fixes labels May 4, 2021
    @tiran tiran self-assigned this May 4, 2021
    @tiran tiran added build The build process and cross-build 3.10 only security fixes 3.11 bug and security fixes labels May 4, 2021
    @tiran tiran self-assigned this May 4, 2021
    @tiran tiran added the build The build process and cross-build label May 4, 2021
    @tiran
    Copy link
    Member

    tiran commented May 8, 2021

    Pablo, could you please give the container a try?

    @pablogsal
    Copy link
    Member Author

    Seems to work like a charm:

    ❯ docker run -vpwd:/src tiran/cpython_autoconf
    Rebuilding configure script
    autoreconf: Entering directory .' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: /usr/bin/autoconf --force autoreconf: running: /usr/bin/autoheader --force autoreconf: configure.ac: not using Automake autoreconf: Leaving directory .'
    Done

    @tiran
    Copy link
    Member

    tiran commented Dec 6, 2021

    New changeset 98fac8b by Christian Heimes in branch 'main':
    bpo-44035: Check autoconf files thoroughly (GH-29935)
    98fac8b

    @tiran
    Copy link
    Member

    tiran commented Dec 6, 2021

    New changeset 1528d24 by Miss Islington (bot) in branch '3.10':
    [3.10] bpo-44035: Check autoconf files thoroughly (GH-29935) (GH-29937)
    1528d24

    @tiran
    Copy link
    Member

    tiran commented Dec 6, 2021

    New changeset f147248 by Christian Heimes in branch '3.9':
    [3.9] bpo-44035: Check autoconf files thoroughly (GH-29935) (GH-29938)
    f147248

    @tiran tiran added the 3.9 only security fixes label Dec 6, 2021
    @tiran tiran closed this as completed Dec 6, 2021
    @tiran tiran added the 3.9 only security fixes label Dec 6, 2021
    @tiran tiran closed this as completed Dec 6, 2021
    @tiran
    Copy link
    Member

    tiran commented Dec 17, 2021

    New changeset da8cf8a by Christian Heimes in branch 'main':
    bpo-44035: Show git diff after autoreconf and regen (GH-30117)
    da8cf8a

    @brettcannon
    Copy link
    Member

    For me it took docker run -v (pwd):/src quay.io/tiran/cpython_autoconf (on fish and didn't run docker pull ahead of time).

    @tiran are you okay if we document your image and how to run it at https://devguide.python.org/setup/?highlight=autoconf#regenerate-configure ?

    @tiran
    Copy link
    Member

    tiran commented Mar 10, 2022

    PS: You have to use the "269" tag to get the correct container image. The "latest" image was outdated and I removed it.

    docker run -v (pwd):/src quay.io/tiran/cpython_autoconf:269
    

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.9 only security fixes 3.10 only security fixes 3.11 bug and security fixes build The build process and cross-build
    Projects
    None yet
    Development

    No branches or pull requests

    3 participants