GNU bug report logs - #64837
FAIL: t/python-prefix

Previous Next

Package: automake;

Reported by: Bruno Haible <bruno <at> clisp.org>

Date: Mon, 24 Jul 2023 18:41:02 UTC

Severity: normal

Done: Karl Berry <karl <at> freefriends.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 64837 in the body.
You can then email your comments to 64837 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-automake <at> gnu.org:
bug#64837; Package automake. (Mon, 24 Jul 2023 18:41:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Bruno Haible <bruno <at> clisp.org>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Mon, 24 Jul 2023 18:41:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Bruno Haible <bruno <at> clisp.org>
To: bug-automake <at> gnu.org
Subject: FAIL: t/python-prefix
Date: Mon, 24 Jul 2023 20:40:00 +0200
Hi,

With automake master, on an Ubuntu 22.04 system (with Python 3.10), I get
a reproducible test failure:

FAIL: t/python-prefix

Find the log below.

If I understand it correctly, the problem is that the test's lines
  py_inst_site=inst/lib/python$py_version/site-packages
and
  py_installed "$py_inst_site"/one.py
expect that "make install" creates a file
  inst/lib/python3.10/site-packages/one.py .
But that's not what it does. Instead it creates a file
  inst/local/lib/python3.10/dist-packages/one.py

Note the two relevant differences:
  - a 'local/' has been inserted,
  - 'site-packages' has been replaced with 'dist-packages'.

Here's the full file list after "make install":

$ find inst -type f | LC_ALL=C sort
inst/local/lib/python3.10/dist-packages/__pycache__/one.cpython-310.opt-1.pyc
inst/local/lib/python3.10/dist-packages/__pycache__/one.cpython-310.opt-2.pyc
inst/local/lib/python3.10/dist-packages/__pycache__/one.cpython-310.pyc
inst/local/lib/python3.10/dist-packages/one.py
inst/local/lib/python3.10/dist-packages/python-prefix/__pycache__/pkgtwo.cpython-310.opt-1.pyc
inst/local/lib/python3.10/dist-packages/python-prefix/__pycache__/pkgtwo.cpython-310.opt-2.pyc
inst/local/lib/python3.10/dist-packages/python-prefix/__pycache__/pkgtwo.cpython-310.pyc
inst/local/lib/python3.10/dist-packages/python-prefix/pkgtwo.py

There's some discussion about this 'local/' part in
https://bugzilla.redhat.com/show_bug.cgi?id=2026979

Probably also relevant: https://stackoverflow.com/questions/9387928/

Bruno


=============================== test-suite.log ===============================

FAIL: t/python-prefix
=====================

python-prefix: running python -V
Python 3.10.6
Running from installcheck: no
Test Protocol: none
PATH = /AUTOMAKE/automake/bin:/AUTOMAKE/automake/t/ax:/arch/x86_64-linux-gnu/gnu-inst-autoconf/2.72-20230624/bin:/home/bruno/bin:/darch/x86_64-linux-gnu/gnu/bin:/arch/local/x86_64-linux-gnu/bin:/arch/local/x86_64-linux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
++ pwd
/AUTOMAKE/automake/t/python-prefix.dir
+ cat
+ cat
+ test -z python
+ py_exec=python
++ python -c 'import sys; print("%u.%u" % sys.version_info[:2])'
+ py_version=3.10
+ py_inst_site=inst/lib/python3.10/site-packages
+ py_instexec_site=instexec/lib/python3.10/site-packages
+ aclocal-1.16 -Werror
+ autoconf
+ automake-1.16 --foreign -Werror -Wall --add-missing
Makefile.am:2: installing './py-compile'
+ mkdir build
+ cd build
++ pwd
+ ../configure --with-python_prefix=/AUTOMAKE/automake/t/python-prefix.dir/build/inst
checking for a BSD-compatible install... /arch/local/x86_64-linux/bin/install -c
checking whether sleep supports fractional seconds... true
checking the filesystem timestamp resolution... 0.2
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /arch/local/x86_64-linux/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking xargs -n works... yes
checking for python... /home/bruno/bin/python
checking for python version... 3.10
checking for python platform... linux
checking for explicit python prefix... /AUTOMAKE/automake/t/python-prefix.dir/build/inst
checking for python_prefix-given python exec_prefix... /AUTOMAKE/automake/t/python-prefix.dir/build/inst
checking for python script directory (pythondir)... ${PYTHON_PREFIX}/local/lib/python3.10/dist-packages
checking for python extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/local/lib/python3.10/dist-packages
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
+ make install
make[1]: Entering directory '/AUTOMAKE/automake/t/python-prefix.dir/build'
make[1]: Nothing to be done for 'install-exec-am'.
echo 'def pkgtwo(): return 1' >pkgtwo.py || rm -f pkgtwo.py
 /arch/local/x86_64-linux/bin/mkdir -p '/AUTOMAKE/automake/t/python-prefix.dir/build/inst/local/lib/python3.10/dist-packages/python-prefix'
 /arch/local/x86_64-linux/bin/install -c -m 644 pkgtwo.py '/AUTOMAKE/automake/t/python-prefix.dir/build/inst/local/lib/python3.10/dist-packages/python-prefix'
Byte-compiling python modules...
pkgtwo.py 
Byte-compiling python modules (optimized versions) ...
pkgtwo.py 
Byte-compiling python modules (more optimized versions) ...
pkgtwo.py 
echo 'def one(): return 1' >one.py || rm -f one.py
 /arch/local/x86_64-linux/bin/mkdir -p '/AUTOMAKE/automake/t/python-prefix.dir/build/inst/local/lib/python3.10/dist-packages'
 /arch/local/x86_64-linux/bin/install -c -m 644 one.py '/AUTOMAKE/automake/t/python-prefix.dir/build/inst/local/lib/python3.10/dist-packages'
Byte-compiling python modules...
one.py 
Byte-compiling python modules (optimized versions) ...
one.py 
Byte-compiling python modules (more optimized versions) ...
one.py 
make[1]: Leaving directory '/AUTOMAKE/automake/t/python-prefix.dir/build'
+ py_installed inst/lib/python3.10/site-packages/one.py
+ case $#,$1 in
+ am_test_py_file='test -f'
+ case $1 in
+ am_target_py_file=inst/lib/python3.10/site-packages/one.py
+ test -f inst/lib/python3.10/site-packages/one.py
+ am_exit_trap 1
+ exit_status=1
+ set +e
+ cd /AUTOMAKE/automake
+ test none = tap
+ case $am_explicit_skips in
+ test 1 -eq 0
+ keep_testdirs=yes
+ am_keeping_testdirs
+ case $keep_testdirs in
+ return 0
+ set +x
FAIL t/python-prefix.sh (exit status: 1)







Information forwarded to bug-automake <at> gnu.org:
bug#64837; Package automake. (Mon, 24 Jul 2023 20:43:02 GMT) Full text and rfc822 format available.

Message #8 received at 64837 <at> debbugs.gnu.org (full text, mbox):

From: Karl Berry <karl <at> freefriends.org>
To: bruno <at> clisp.org
Cc: 64837 <at> debbugs.gnu.org
Subject: Re: bug#64837: FAIL: t/python-prefix
Date: Mon, 24 Jul 2023 14:41:54 -0600
    With automake master, on an Ubuntu 22.04 system (with Python 3.10), 

I don't believe anyone has tried Automake with Python 3.10 before.  Mike
and Bogdan put in quite a bit of work getting the current tests to work
with other versions of Python. Evidently every Python version does new
and different incompatible things.

Regrettably, I can't debug or fix this (or anything wrt Python).
I hope you or someone else can provide a patch.

Thanks for the report. -k




Information forwarded to bug-automake <at> gnu.org:
bug#64837; Package automake. (Tue, 09 Jan 2024 21:48:03 GMT) Full text and rfc822 format available.

Message #11 received at 64837 <at> debbugs.gnu.org (full text, mbox):

From: Bogdan <bogdro_rep <at> gmx.us>
To: automake-patches <at> gnu.org, 54412 <at> debbugs.gnu.org, 64837 <at> debbugs.gnu.org
Subject: [bug#54412] [bug#64837] Fix Python on Debian
Date: Tue, 9 Jan 2024 22:46:51 +0100
[Message part 1 (text/plain, inline)]
Hello.

 Referring to the discussion related to the upcoming release, I
confirm defect #64837 on Debian GNU/Linux 12 (bookworm) and I confirm
that the last patch in #54412 (the one attached in the defect in
Message#14 - https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54412#14,
not the one inlined) fixes the issue.
 I'm also attaching a "double-safe" version, with a simple try-except
added, falling back to the old default, just in case. Also tested,
also fixes the issue.
 You can apply whichever you choose.

--
Regards - Bogdan ('bogdro') D.                 (GNU/Linux & FreeDOS)
X86 assembly (DOS, GNU/Linux):    http://bogdro.evai.pl/index-en.php
Soft(EN): http://bogdro.evai.pl/soft  http://bogdro.evai.pl/soft4asm
www.Xiph.org  www.TorProject.org  www.LibreOffice.org  www.GnuPG.org
[automake-python310-fix-mail.diff (text/x-patch, attachment)]

Information forwarded to bug-automake <at> gnu.org:
bug#64837; Package automake. (Wed, 17 Jan 2024 21:56:01 GMT) Full text and rfc822 format available.

Message #14 received at 64837 <at> debbugs.gnu.org (full text, mbox):

From: Karl Berry <karl <at> freefriends.org>
To: bruno <at> clisp.org, 64837 <at> debbugs.gnu.org
Subject: Re: bug#64837: FAIL: t/python-prefix
Date: Wed, 17 Jan 2024 14:55:30 -0700
I installed Bogdan's version of Stefano's patch from #54412.
Fingers crossed. -k




Reply sent to Karl Berry <karl <at> freefriends.org>:
You have taken responsibility. (Wed, 17 Jan 2024 21:56:03 GMT) Full text and rfc822 format available.

Notification sent to Bruno Haible <bruno <at> clisp.org>:
bug acknowledged by developer. (Wed, 17 Jan 2024 21:56:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 15 Feb 2024 12:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 84 days ago.

Previous Next


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