Opened 3 months ago

Last modified 3 months ago

#69320 new defect

On PPC Leopard, Mac OS X 10.5.8, py311-flit_core @3.9.0 does not build (which is required for py311-wheel)

Reported by: ballapete (Peter "Pete" Dyballa) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.9.1
Keywords: leopard ppc Cc: mps@…
Port: py-flit py-flit_core

Description

My aim is to install meson with Python 3.11 (because there are too many ports that depend on old Python versions and I do not want to keep a Python zoo on a limited disk), but it's not possible to install its requisites which worked with Python 3.10, see also #69319 and #69106.

Attached are a system crash log and main.log files from trying to build py311-wheel again.

Attachments (3)

main.log (41.4 KB) - added by ballapete (Peter "Pete" Dyballa) 3 months ago.
Main.log from PPC Leopard, Mac OS X 10.5.8, trying to build py311-wheel
main.2.log (14.4 KB) - added by ballapete (Peter "Pete" Dyballa) 3 months ago.
Main.log from PPC Leopard, Mac OS X 10.5.8, trying to build py311-wheel, here its prerequisite py311-flit_core
Python_2024-02-11-182441_Leopard.crash (9.4 KB) - added by ballapete (Peter "Pete" Dyballa) 3 months ago.
System crash log from trying to build prerequisite py311-flit_core, presumingly

Download all attachments as: .zip

Change History (12)

Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

Main.log from PPC Leopard, Mac OS X 10.5.8, trying to build py311-wheel

Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.2.log added

Main.log from PPC Leopard, Mac OS X 10.5.8, trying to build py311-wheel, here its prerequisite py311-flit_core

Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

System crash log from trying to build prerequisite py311-flit_core, presumingly

comment:1 Changed 3 months ago by Schamschula (Marius Schamschula)

Port: py-flit py-flit_core added; py311-wheel removed
Summary: py311-wheel @0.42.0 does not build again on PPC Leopard, Mac OS X 10.5.8, because py311-flit @3.9.0 does not build (which is now suddenly required)On PPC Leopard, Mac OS X 10.5.8, py311-flit_core @3.9.0 does not build (which is required for py311-wheel)

It sure looks like the problem is py311-flit_core. The most recent update built fine of 10.6.8.

See: https://github.com/macports/macports-ports/commit/0034e3d136b77b28399e0eb5f140bf551554a8f6

Note: the flit backend for py-wheel was added on March 2023.

See: https://github.com/macports/macports-ports/commit/9f93c383763395c9bb587b533b6c813f754c8cc3

comment:2 in reply to:  1 Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

Replying to Schamschula:

It sure looks like the problem is py311-flit_core. The most recent update built fine of 10.6.8.

I have pure Leopard, Mac OS X 10.5.8.

comment:3 Changed 3 months ago by Schamschula (Marius Schamschula)

Yes, I'm aware of that. There are no build bots below 10.6.8, and hence it is the closest information I could find.

I don't run anything older than macOS 12. The only working machine I have that runs your OS version is a G3 Pismo. It is on the other side of the Atlantic Ocean, and doesn't have MacPorts installed.

comment:4 Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

I assumed

  py-bootstrap-modules @2022-12-23_0 (active) requested_variants='' platform='darwin 9' archs='noarch' date='2023-01-22T21:40:10+0100'

was too much out-of-date, so I rebuilt and reinstalled it. Afterwards I let port show leaves of Python 3.11 modules, and deleted them:

port uninstall py311-build py311-installer py311-setuptools py311-wheel

They were just leaves, nothing needed them. And they created some new leaves:

port uninstall py311-packaging py311-pyproject_hooks

So the base Python 3.11 installation was quite clean and I

Successfully built installer-0.7.0-py3-none-any.whl
Successfully built pyproject_hooks-1.0.0-py3-none-any.whl

and I invoked then

port -vsd build py311-build

which caused some disaster (just citing port's comments and inserting some empty lines, not mentioning the need to install two or three other modules):

--->  Computing dependencies for py311-build

--->  Staging py311-installer into destroot
--->  Installing py311-installer @0.7.0_0
--->  Activating py311-installer @0.7.0_0
--->  Cleaning py311-installer
--->  Removing work directory for py311-installer

--->  Fetching distfiles for py311-packaging
--->  Verifying checksums for py311-packaging
--->  Checksumming packaging-23.2.tar.gz
--->  Extracting py311-packaging
--->  Extracting packaging-23.2.tar.gz
--->  Configuring py311-packaging
--->  Building py311-packaging
Successfully built packaging-23.2-py3-none-any.whl
--->  Staging py311-packaging into destroot
--->  Installing py311-packaging @23.2_0
--->  Activating py311-packaging @23.2_0
--->  Cleaning py311-packaging
--->  Removing work directory for py311-packaging

--->  Staging py311-pyproject_hooks into destroot
--->  Installing py311-pyproject_hooks @1.0.0_0
--->  Activating py311-pyproject_hooks @1.0.0_0
--->  Cleaning py311-pyproject_hooks
--->  Removing work directory for py311-pyproject_hooks

--->  Fetching distfiles for py311-build
--->  build-1.0.3.tar.gz does not exist in /opt/local/var/macports/distfiles/py-build
--->  Attempting to fetch build-1.0.3.tar.gz from http://distfiles.macports.org/py-build
--->  Verifying checksums for py311-build
--->  Checksumming build-1.0.3.tar.gz
--->  Extracting py311-build
--->  Extracting build-1.0.3.tar.gz
--->  Configuring py311-build
--->  Building py311-build

So I have now, when documenting:

  python311 @3.11.8_0 (active) requested_variants='' platform='darwin 9' archs='ppc' date='2024-02-11T16:43:31+0100'
  py311-installer @0.7.0_0 (active) requested_variants='' platform='darwin any' archs='noarch' date='2024-02-11T22:12:24+0100'
  py311-packaging @23.2_0 (active) requested_variants='' platform='darwin any' archs='noarch' date='2024-02-11T22:14:33+0100'
  py311-pyproject_hooks @1.0.0_0 (active) requested_variants='' platform='darwin any' archs='noarch' date='2024-02-11T22:16:00+0100'

With this setup it does not work to install one kind of modules, others do build and install:

  py311-setuptools @69.0.3_0 (active) requested_variants='' platform='darwin any' archs='noarch' date='2024-02-11T22:41:15+0100'
  py311-pip @24.0_0 (active) requested_variants='' platform='darwin any' archs='noarch' date='2024-02-11T22:51:42+0100'

With pip3 I could try to install those modules that port cannot – because I seem to have now a faulty build_wheel routine?

DEBUG: system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work/build-1.0.3" && /opt/local/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11 -m build --no-isolation --wheel --outdir /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work --skip-dependency-check 
* Building wheel...

ERROR Backend subprocess exited when trying to invoke build_wheel
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work/build-1.0.3" && /opt/local/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11 -m build --no-isolation --wheel --outdir /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work --skip-dependency-check 
Exit code: 1
Error: Failed to build py311-build: command execution failed

comment:5 Changed 3 months ago by barracuda156

So py310-build installs fine, but py311-build does not, is it the case?

comment:6 Changed 3 months ago by jmroot (Joshua Root)

If python is crashing in _Py_dg_infinity, isn't this a duplicate of #69319? It's quite likely any module that happens to directly or indirectly use float("inf") or the equivalent triggers the problem.

comment:7 in reply to:  5 Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

Replying to barracuda156:

So py310-build installs fine, but py311-build does not, is it the case?

There is a slight difference…

My assumption was that some prerequisites for building Python modules were not OK. So I tried to remove the ones built, in two steps in order keep most dependencies untouched, and then rebuild them manually, following the timely order by which port installed them. py-bootstrap-modules was first rebuilt, and then followed, as described earlier, py311-installer and py311-pyproject_hooks. Then I tried to build py311-build, which had to build to dependencies I did not see before. And, honestly, because I do not remember exactly whether I staged port install … after portbuild …, during this py311-pyproject_hooks was built and installed anew. IMO first builds succeeded and when this or that module was build and installed again, the machinery became defective…

I can redo this all and exactly document my deeds on my MacBook, after the Tiger jobs were finished.

The module build failures happened with both versions of Python, 3.11.7 and 3.11.8.

comment:8 Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

New try with this starting position:

-rw-r--r-- 1 root        632370 2024-02-11 20:37:43.000000000 +0100 /opt/local/var/macports/software/py-bootstrap-modules/py-bootstrap-modules-2022-12-23_0.any_any.noarch.tbz2
-rw-r--r-- 1 root        213927 2024-02-10 00:25:24.000000000 +0100 /opt/local/var/macports/software/py311-libxml2/py311-libxml2-2.11.5_0.darwin_9.ppc.tbz2
-rw-r--r-- 1 macports   3215590 2024-02-10 11:55:38.000000000 +0100 /opt/local/var/macports/software/py311-pygments/py311-pygments-2.17.2_0.darwin_any.noarch.tbz2
-rw-r--r-- 1 root          1291 2022-09-17 12:06:54.000000000 +0200 /opt/local/var/macports/software/pygments_select/pygments_select-0.1_1.darwin_9.noarch.tbz2
-rw-r--r-- 1 root          1807 2023-01-23 00:19:26.000000000 +0100 /opt/local/var/macports/software/python2_select/python2_select-0.0_4.darwin_9.noarch.tbz2
-rw-r--r-- 1 root      33776558 2024-02-11 16:43:30.000000000 +0100 /opt/local/var/macports/software/python311/python311-3.11.8_0.darwin_9.ppc.tbz2
-rw-r--r-- 1 macports      1704 2024-02-09 18:17:44.000000000 +0100 /opt/local/var/macports/software/python3_select-311/python3_select-311-0.1_1.any_any.noarch.tbz2
-rw-r--r-- 1 root          1690 2024-02-09 18:17:35.000000000 +0100 /opt/local/var/macports/software/python3_select/python3_select-0.1_0.darwin_9.noarch.tbz2
-rw-r--r-- 1 macports      1902 2024-02-09 18:17:01.000000000 +0100 /opt/local/var/macports/software/python_select-311/python_select-311-0.3_1.any_any.noarch.tbz2
-rw-r--r-- 1 root          1822 2022-09-17 12:12:11.000000000 +0200 /opt/local/var/macports/software/python_select/python_select-0.3_10.darwin_9.noarch.tbz2

I deleted py-bootstrap-modules, rebuilt, and installed:

-rw-r--r-- 1 root        632150 2024-02-12 16:48:45.000000000 +0100 /opt/local/var/macports/software/py-bootstrap-modules/py-bootstrap-modules-2022-12-23_0.any_any.noarch.tbz2

Looking into the log I see that these modules are included in py-bootstrap-modules: build-0.9.0 flit_core-3.8.0 installer-0.6.0 packaging-21.3 pep517-0.13.0 pyparsing-3.0.9 python-install-0.0.3 setuptools_scm-6.4.2 tomli-1.2.3 wheel-0.37.1Portfile shows the same components. Yesterday I kind of additionally installed a different version of "installer": installer-0.7.0, and today again:

-rw-r--r-- 1 root        402663 2024-02-12 17:25:08.000000000 +0100 /opt/local/var/macports/software/py311-installer/py311-installer-0.7.0_0.darwin_any.noarch.tbz2

Next "project" built and installed without problem:

-rw-r--r-- 1 root         22528 2024-02-12 17:49:32.000000000 +0100 /opt/local/var/macports/software/py311-pyproject_hooks/py311-pyproject_hooks-1.0.0_0.darwin_any.noarch.tbz2

py311-build has a dependency, so I decided to build and install it first:

-rw-r--r-- 1 root        115487 2024-02-12 17:54:48.000000000 +0100 /opt/local/var/macports/software/py311-packaging/py311-packaging-23.2_0.darwin_any.noarch.tbz2

py-bootstrap-modules contains a version that is two major versions behind (21.3 vs. 23.2) …

Looking at the dependencies meson and py311-meson have, those ports that port needs to install some additional software, I see py311-build py311-setuptools py311-wheel. This time I am choosing the easiest one

-rw-r--r-- 1 root       1941867 2024-02-12 18:16:17.000000000 +0100 /opt/local/var/macports/software/py311-setuptools/py311-setuptools-69.0.3_0.darwin_any.noarch.tbz2

While building, this warning showed up:

installing to build/bdist.macosx-10.5-ppc/wheel
running install
Distribution option extra_path is deprecated. See issue27919 for details.
running install_lib
creating build/bdist.macosx-10.5-ppc

The next of the three modules now has no dependencies, but it does not build:

--->  Extracting build-1.0.3.tar.gz
DEBUG: setting option extract.args to '/opt/local/var/macports/distfiles/py-build/build-1.0.3.tar.gz'
DEBUG: Environment: 
CC_PRINT_OPTIONS='YES'
CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work/.CC_PRINT_OPTIONS'
CPATH='/opt/local/include'
DEVELOPER_DIR='/Developer'
LIBRARY_PATH='/opt/local/lib'
MACOSX_DEPLOYMENT_TARGET='10.5'
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/py-build/build-1.0.3.tar.gz' | /usr/bin/gnutar --no-same-owner -xf - 
DEBUG: system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/py-build/build-1.0.3.tar.gz' | /usr/bin/gnutar --no-same-owner -xf - 
/usr/bin/gnutar: build-1.0.3/PKG-INFO: implausibly old time stamp 1970-01-01 01:00:00
DEBUG: euid/egid changed to: 0/0
DEBUG: chowned /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work to macports
DEBUG: euid/egid changed to: 502/502
DEBUG: Executing proc-post-org.macports.extract-extract-0
DEBUG: Privilege de-escalation not attempted as not running as root.
DEBUG: patch phase started at Mon Feb 12 18:24:43 CET 2024
DEBUG: Executing org.macports.patch (py311-build)
DEBUG: Privilege de-escalation not attempted as not running as root.
DEBUG: configure phase started at Mon Feb 12 18:24:43 CET 2024
--->  Configuring py311-build
DEBUG: Preferred compilers: gcc-4.2 llvm-gcc-4.2 apple-gcc-4.2 gcc-4.0 macports-gcc-7 macports-gcc-6 macports-gcc-5 macports-clang-11 macports-clang-10 macports-clang-9.0 macports-clang-8.0 macports-clang-7.0 macports-clang-6.0 macports-clang-5.0 macports-clang-3.7 macports-clang-3.4
DEBUG: Using compiler 'Xcode GCC 4.2'
DEBUG: Executing org.macports.configure (py311-build)
DEBUG: Executing portconfigure::configure_finish
DEBUG: Privilege de-escalation not attempted as not running as root.
DEBUG: build phase started at Mon Feb 12 18:24:43 CET 2024
--->  Building py311-build
DEBUG: Executing proc-pre-org.macports.build-build-0
DEBUG: Executing org.macports.build (py311-build)
DEBUG: Environment: 
CC='/usr/bin/gcc-4.2'
CC_PRINT_OPTIONS='YES'
CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work/.CC_PRINT_OPTIONS'
CFLAGS='-isysroot/'
CPATH='/opt/local/include'
CXX='/usr/bin/g++-4.2'
CXXFLAGS='-isysroot/'
DEVELOPER_DIR='/Developer'
LIBRARY_PATH='/opt/local/lib'
MACOSX_DEPLOYMENT_TARGET='10.5'
OBJC='/usr/bin/gcc-4.2'
OBJCFLAGS='-isysroot/'
PYTHONPATH='/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work/build-1.0.3/src:/opt/local/share/py-bootstrap-modules'
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work/build-1.0.3" && /opt/local/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11 -m build --no-isolation --wheel --outdir /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work --skip-dependency-check 
DEBUG: system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work/build-1.0.3" && /opt/local/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11 -m build --no-isolation --wheel --outdir /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work --skip-dependency-check 
* Building wheel...

ERROR Backend subprocess exited when trying to invoke build_wheel
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work/build-1.0.3" && /opt/local/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11 -m build --no-isolation --wheel --outdir /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_python_py-build/py311-build/work --skip-dependency-check 
Exit code: 1

Again, py311-build has a different, a ripe version, that py-bootstrap-modules does not use: 0.9.0 vs. 1.0.3. The other dependent packages, py311-flit_core and py311-wheel both depend on py311-build, so I am at an end now.

comment:9 Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

I could identify these ports inside py-bootstrap-modules

py311-build                    @1.0.3  vs. 0.9.0       python/py-build
py311-flit_core                @3.9.0  vs. 3.8.0       python/py-flit_core
py311-installer                @0.7.0  vs. 0.6.0       python/py-installer
py311-packaging                @23.2   vs. 21.3        python/py-packaging
py311-parsing                  @3.1.1  vs. 3.0.9       python/py-parsing
py311-pep517                   @0.13.0 vs. 0.13.0      python/py-pep517
py-python-install              @0.0.3  vs. 0.0.3       python/py-python-install
py311-setuptools_scm           @8.0.4  vs. 6.4.2       python/py-setuptools_scm
py311-tomli                    @2.0.1  vs. 1.2.3       python/py-tomli
py311-wheel                    @0.42.0 vs. 0.37.1      python/py-wheel

python-install-0.0.3 does not seem to have a version adapted to Python 3.11:

py-python-install              @0.0.3          python/py-python-install
py36-python-install            @0.0.3          python/py-python-install
py37-python-install            @0.0.3          python/py-python-install
py38-python-install            @0.0.3          python/py-python-install
py39-python-install            @0.0.3          python/py-python-install
py310-python-install           @0.0.3          python/py-python-install
Note: See TracTickets for help on using tickets.