Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Python 3.14 cannot build
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
pimiento
n00b
n00b


Joined: 09 Dec 2017
Posts: 24

PostPosted: Thu Jun 05, 2025 5:43 am    Post subject: Python 3.14 cannot build Reply with quote

I use ~amd64 and now Python3.14 is available to build but it cannot be built I get the same error for all four versions:

    - (~)3.14.0_beta2^t
    - (~)3.14.0_beta2_p1^t
    - (~)3.14.0_beta2-r100^t
    - (~)3.14.0_beta2_p1-r100^t

the error is

Code:
Python/generated_cases.c.h: In function '_TAIL_CALL_exit_unwind':
Python/generated_cases.c.h:12461:13: warning: 'clang' attribute ignored [-Wattributes]                                                                                                                               
12461 |             JUMP_TO_LABEL(error);                                                                                                                                                                           
      |             ^~~~~~~~~~~~~                                                                                                                                                                                   
Python/ceval_macros.h:83:31: error: expected ']' before ':' token                                                                                                                                                   
   83 | #   define Py_MUSTTAIL [[clang::musttail]]                                                                                                                                                                   
      |                               ^                                                                                                                                                                             
Python/ceval_macros.h:94:13: note: in expansion of macro 'Py_MUSTTAIL'                                                                                                                                               
   94 |             Py_MUSTTAIL return (_TAIL_CALL_##name)(TAIL_CALL_ARGS); \                                                                                                                                       
      |             ^~~~~~~~~~~                                                                                                                                                                                     
Python/generated_cases.c.h:12461:13: note: in expansion of macro 'JUMP_TO_LABEL'                                                                                                                                     
12461 |             JUMP_TO_LABEL(error);
      |             ^~~~~~~~~~~~~
Python/generated_cases.c.h: At top level:
Python/generated_cases.c.h:12465:9: warning: 'preserve_none' attribute directive ignored [-Wattributes]
12465 |         {
      |         ^
Python/generated_cases.c.h: In function '_TAIL_CALL_start_frame':
Python/generated_cases.c.h:12468:17: warning: 'clang' attribute ignored [-Wattributes]
12468 |                 JUMP_TO_LABEL(exit_unwind);
      |                 ^~~~~~~~~~~~~
Python/ceval_macros.h:83:31: error: expected ']' before ':' token
   83 | #   define Py_MUSTTAIL [[clang::musttail]]
      |                               ^
Python/ceval_macros.h:94:13: note: in expansion of macro 'Py_MUSTTAIL'
   94 |             Py_MUSTTAIL return (_TAIL_CALL_##name)(TAIL_CALL_ARGS); \
      |             ^~~~~~~~~~~
Python/generated_cases.c.h:12468:17: note: in expansion of macro 'JUMP_TO_LABEL'
12468 |                 JUMP_TO_LABEL(exit_unwind);
      |                 ^~~~~~~~~~~~~
Python/generated_cases.c.h:12483:13: warning: 'clang' attribute ignored [-Wattributes]
12483 |             DISPATCH();
      |             ^~~~~~~~
Python/ceval_macros.h:83:31: error: expected ']' before ':' token
   83 | #   define Py_MUSTTAIL [[clang::musttail]]
      |                               ^
Python/ceval_macros.h:90:13: note: in expansion of macro 'Py_MUSTTAIL'
   90 |             Py_MUSTTAIL return (INSTRUCTION_TABLE[opcode])(TAIL_CALL_ARGS); \
      |             ^~~~~~~~~~~
Python/ceval_macros.h:158:9: note: in expansion of macro 'DISPATCH_GOTO'
  158 |         DISPATCH_GOTO(); \
      |         ^~~~~~~~~~~~~
Python/generated_cases.c.h:12483:13: note: in expansion of macro 'DISPATCH'
12483 |             DISPATCH();
      |             ^~~~~~~~
make[2]: *** [Makefile:3257: Python/ceval.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/var/tmp/portage/dev-lang/python-3.14.0_beta2_p1/work/Python-3.14.0b2'
make[1]: *** [Makefile:1007: profile-gen-stamp] Error 2
make[1]: Leaving directory '/var/tmp/portage/dev-lang/python-3.14.0_beta2_p1/work/Python-3.14.0b2'
make: *** [Makefile:1019: profile-run-stamp] Error 2
 * ERROR: dev-lang/python-3.14.0_beta2_p1::gentoo failed (compile phase):
 *   emake failed
 *
 * If you need support, post the output of `emerge --info '=dev-lang/python-3.14.0_beta2_p1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-lang/python-3.14.0_beta2_p1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-lang/python-3.14.0_beta2_p1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/python-3.14.0_beta2_p1/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-lang/python-3.14.0_beta2_p1/work/Python-3.14.0b2'
 * S: '/var/tmp/portage/dev-lang/python-3.14.0_beta2_p1/work/Python-3.14.0b2'


Is it possible to be fixed or I just have to mask all 3.14 versions until it will be in amd64 arch?
Back to top
View user's profile Send private message
Ionen
Developer
Developer


Joined: 06 Dec 2018
Posts: 2937

PostPosted: Thu Jun 05, 2025 6:02 am    Post subject: Reply with quote

Haven't tried to reproduce, but to guess... Did you enable the off-by-default USE=tail-call-interp despite using gcc-14 or so?

The USE description says:
Code:
Enable the tail call interpreter. May lead to better
performance but is still new and dependent on latest
toolchain versions (Clang 19, GCC 15).

If you are in stable, I'd disable it rather than start using gcc-15 (albeit I'd wonder why you are emerging python-3.14 in stable). If in ~testing, then may want to check that gcc-15 is selected -- or disable it anyway rather than use new fanged off-by-default features.

Guess the ebuild should arguably check the compiler version for a better error though. Another route could be to make it automagic based on compiler version I guess (may not be worth a USE), but I haven't really looked at this stuff for implications.
Back to top
View user's profile Send private message
pimiento
n00b
n00b


Joined: 09 Dec 2017
Posts: 24

PostPosted: Fri Jun 06, 2025 8:27 am    Post subject: Reply with quote

I use LLVM19, I think:

Code:

➜  ~ equery u dev-lang/python:3.14
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for dev-lang/python-3.14.9999:
 U I
 - - bluetooth        : Build Bluetooth protocol support in socket module
 - - build            : !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for creating build images and the first half of bootstrapping [make stage1]
 - - debug            : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
 + - ensurepip        : Install the ensurepip module that uses bundled wheels to bootstrap pip and setuptools (if disabled, it will be only possible to use venv `--without-pip`)
 - - examples         : Install examples, usually source code
 + + gdbm             : Add support for sys-libs/gdbm (GNU database libraries)
 - - libedit          : Link readline extension against dev-libs/libedit instead of sys-libs/readline
 + - llvm_slot_19     : Use LLVM 19.
 + + ncurses          : Add ncurses support (console display library)
 + + pgo              : Optimize the build using Profile Guided Optimization (PGO) by running Python's test suite and collecting statistics based on its performance. This will take longer to build.
 + + readline         : Enable support for libreadline, a GNU line-editing library that almost everyone wants
 + + sqlite           : Add support for sqlite - embedded sql database
 + + ssl              : Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security)
 + - tail-call-interp : Enable the tail call interpreter. May lead to better performance but is still new and dependent on latest toolchain versions (Clang 19, GCC 15).
 - - test             : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
 - - tk               : Add support for Tk GUI toolkit
 - - valgrind         : Disable pymalloc when running under dev-debug/valgrind is detected (may incur minor performance penalty even when valgrind is not used)


I will try to use GCC15 instead maybe it will help
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 2376

PostPosted: Fri Jun 06, 2025 2:48 pm    Post subject: Reply with quote

llvm_slot_* is only for masked USE=jit on Python. We need emerge --info.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



OSZAR »