GNU bug report logs - #53340
t/instmany-python.sh failure when compiling many Python object files

Previous Next

Package: automake;

Reported by: Mike Frysinger <vapier <at> gentoo.org>

Date: Tue, 18 Jan 2022 06:40:01 UTC

Severity: normal

Tags: confirmed

Done: Mike Frysinger <vapier <at> gentoo.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Mike Frysinger <vapier <at> gentoo.org>
To: 53340 <at> debbugs.gnu.org
Subject: bug#53340: t/instmany-python.sh failure w/automake-1.16.2 under Gentoo
Date: Sun,  6 Feb 2022 09:01:18 +0000 (UTC)
turns out this doesn't repro in official automake versions because it requires a
Gentoo-specific patch -- the one sent for #38043 to fix Python 3.5+ compilation.
the issue is that lib/am/python.am chops up the list of files before the globs
are expanded instead of after.

## This is somewhat tricky, because for newer pythons we have to take PEP-3147
## into account.  Avoid exceeding the command-line length limit.
    dir='$(DESTDIR)$(%NDIR%dir)'; \
>   echo "$$py_files" | $(am__pep3147_tweak) | $(am__base_list) | \
      while read files; do \
        $(am__uninstall_files_from_dir) || st=$$?; \
      done || exit $$?; \
    exit $$st

the > line above will turn the list of files we installed into a bunch of globs
(e.g. py_files="npython1.py" turns into "__pycache__/npython1.*.pyc
__pycache__/npython1.*.pyo"), and then those globs (before they're expanded) run
through $(am__base_list) to chop them up into sets of 40, but then we have 40
globs that expand into a lot more files.  before #38043, we have 1-to-2 increase,
but now we have 1-to-3, and so the command line is exceeded.

so we have to expand the globs between $(am__pep3147_tweak) and $(am__base_list).
-mike




This bug report was last modified 3 years and 147 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.