[MacPorts] #74366: Variant +optimizations of python314 @3.14.7 should be disabled on (PPC?) Mac OS X 10.5.8, Leopard

MacPorts noreply at macports.org
Wed Aug 26 20:58:12 UTC 2026


#74366: Variant +optimizations of python314 @3.14.7 should be disabled on (PPC?)
Mac OS X 10.5.8, Leopard
-------------------------+-----------------------
 Reporter:  ballapete    |      Owner:  (none)
     Type:  defect       |     Status:  new
 Priority:  Normal       |  Milestone:
Component:  ports        |    Version:  2.12.5
 Keywords:  ppc leopard  |       Port:  python314
-------------------------+-----------------------
 Towards the end of building `Profile-Guided Optimization (PGO)` is
 started, which at first works fine, but then comes to an endless step:

 {{{
 LC_ALL=C sed -e 's,\$(\([A-Za-z0-9_]*\)),\$\{\1\},g' < Misc/python-
 config.sh >python-config
 The following modules are *disabled* in configure script:
 _gdbm                 _tkinter

 Checked 114 modules (36 built-in, 76 shared, 0 n/a on macosx-10.5-ppc, 2
 disabled, 0 missing, 0 failed on import)
 DYLD_FRAMEWORK_PATH=/opt/local/var/macports/build/python314-850f3633/work/Python-3.14.7
 ./python -E ./Tools/build/generate-build-details.py `cat pybuilddir.txt
 `/build-details.json
 make[2]: Leaving directory
 `/opt/local/var/macports/build/python314-850f3633/work/Python-3.14.7'
 touch profile-gen-stamp
 make[1]: Leaving directory
 `/opt/local/var/macports/build/python314-850f3633/work/Python-3.14.7'
 # Next, run the profile task to generate the profile information.
 DYLD_FRAMEWORK_PATH=/opt/local/var/macports/build/python314-850f3633/work/Python-3.14.7
 ./python -m test --pgo --timeout=
 Using random seed: 1787656138
 0:00:00 load avg: 1.11 Run 43 tests sequentially in a single process
 0:00:00 load avg: 1.11 [ 1/43] test_array
 0:00:37 load avg: 1.19 [ 1/43] test_array passed in 37.0 sec
 0:00:37 load avg: 1.19 [ 2/43] test_base64
 0:00:54 load avg: 1.51 [ 2/43] test_base64 passed
 0:00:54 load avg: 1.51 [ 3/43] test_binascii
 0:00:56 load avg: 1.51 [ 3/43] test_binascii passed
 0:00:56 load avg: 1.51 [ 4/43] test_binop
 0:00:58 load avg: 1.51 [ 4/43] test_binop passed
 0:00:58 load avg: 1.51 [ 5/43] test_bisect
 0:01:00 load avg: 1.55 [ 5/43] test_bisect passed
 0:01:00 load avg: 1.55 [ 6/43] test_bytes
 0:05:05 load avg: 1.16 [ 6/43] test_bytes passed in 4 min 4 sec
 0:05:05 load avg: 1.16 [ 7/43] test_bz2
 0:05:32 load avg: 1.26 [ 7/43] test_bz2 passed
 0:05:32 load avg: 1.26 [ 8/43] test_cmath
 0:05:38 load avg: 1.31 [ 8/43] test_cmath passed
 0:05:39 load avg: 1.31 [ 9/43] test_codecs
 0:06:24 load avg: 1.13 [ 9/43] test_codecs passed in 45.3 sec
 0:06:24 load avg: 1.13 [10/43] test_collections
 0:06:50 load avg: 1.17 [10/43] test_collections passed
 0:06:50 load avg: 1.17 [11/43] test_complex
 0:06:55 load avg: 1.15 [11/43] test_complex passed
 0:06:55 load avg: 1.15 [12/43] test_dataclasses
 0:07:19 load avg: 1.03 [12/43] test_dataclasses passed
 0:07:19 load avg: 1.03 [13/43] test_datetime
 0:09:46 load avg: 2.00 [13/43] test_datetime passed in 2 min 26 sec
 0:09:46 load avg: 2.00 [14/43] test_decimal
 0:12:14 load avg: 1.14 [14/43] test_decimal passed in 2 min 28 sec
 0:12:14 load avg: 1.14 [15/43] test_difflib
 0:12:43 load avg: 1.09 [15/43] test_difflib passed
 0:12:43 load avg: 1.09 [16/43] test_float
 0:12:53 load avg: 1.15 [16/43] test_float passed
 0:12:53 load avg: 1.15 [17/43] test_fstring
 0:15:59 load avg: 1.01 [17/43] test_fstring passed in 3 min 6 sec
 0:15:59 load avg: 1.01 [18/43] test_functools
 }}}

 Even (real) hours later `test_functool` was not passed. The explanation
 for this can be found in `configure.ac`:

 {{{
 2088     # Use -fprofile-update=atomic to fix a random GCC internal error
 on PGO
 2089     # build (gh-145801) caused by corruption of profile data (.gcda
 files).
 }}}

 To understand this it's necessary to know that `GCC 15.2` reports every
 time when compiling a CPython source file

 {{{
 warning: target does not support atomic profile update, single mode is
 selected
 }}}

 This warning seems to indicate that compiler option `-fprofile-
 update=atomic` is automatically converted into `-fprofile-update=single`
 and so `GCC 15.2` has to run (randomly?) into a bug producing corrupted
 profile data. (At least twice I could reproduce the described behaviour.
 Coincidence?)

 What's left are tests with MacPorts' default without BLAKE2 hash function.

-- 
Ticket URL: <https://trac.macports.org/ticket/74366>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list