View previous topic :: View next topic |
Author |
Message |
pimiento n00b

Joined: 09 Dec 2017 Posts: 24
|
Posted: Thu Jun 05, 2025 5:43 am Post subject: Python 3.14 cannot build |
|
|
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 |
|
 |
Ionen Developer


Joined: 06 Dec 2018 Posts: 2937
|
Posted: Thu Jun 05, 2025 6:02 am Post subject: |
|
|
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 |
|
 |
pimiento n00b

Joined: 09 Dec 2017 Posts: 24
|
Posted: Fri Jun 06, 2025 8:27 am Post subject: |
|
|
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 |
|
 |
sam_ Developer


Joined: 14 Aug 2020 Posts: 2376
|
Posted: Fri Jun 06, 2025 2:48 pm Post subject: |
|
|
llvm_slot_* is only for masked USE=jit on Python. We need emerge --info. |
|
Back to top |
|
 |
|