Hello,
I’m new here, and the post formatting is bewildering for me. Dunno if this the right forum to ask this. So sorry if there are errors.
So, anyone has tried to compile Python 3.12 and up, yet?
Requirements:
I have Searched the forum for my issue and found nothing related or helpful
I have checked the Resources category (Resources Index)
I have reviewed the Wiki for relevant information
I have read the the Release Notes and Errata
OpenMandriva Lx version:
OpenMandriva Lx release 25.06 (ROME) Rolling for x86_64
Desktop environment (KDE, LXQT…):
KDE (minimal)
Description of the issue (screenshots if relevant):
When trying to compile Python 3.12.x and 3.13.x with the source downloaded from the Official Python Site, it always fail at compiling/linking curses module.
Prior to compiling, I tried to install the dependencies with this command:
$ sudo dnf install make gcc patch automake findutils lib64bz2-devel lib64ffi-devel lib64gdbm-devel lib64lzma-devel lib64ncurses-devel lib64nsl-devel lib64openssl-devel lib64readline-devel lib64sqlite3-devel lib64tk-devel lib64uuid-devel lib64z-devel lib64zstd-devel
Relevant informations (hardware involved, software version, logs or output…):
This is the line where it fails (excerpt):
$ ./configure
$ make
...
gcc -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -fPIC -c ./Modules/_cursesmodule.c -o Modules/_cursesmodule.o
gcc -shared Modules/_cursesmodule.o -Os -fomit-frame-pointer -g3 -gdwarf-4 -Wstrict-aliasing=2 -pipe -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fstack-protector-all --param=ssp-buffer-size=4 -m64 -mtune=generic -flto -Oz -Wl,-O2 -Wl,--no-undefined -flto -lncursesw -o Modules/_curses.cpython-313-x86_64-linux-gnu.so
/usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: Modules/_cursesmodule.o: in function `PyCursesWindow_set_encoding':
/home/xeon/Temp/Python-3.13.8/./Modules/_cursesmodule.c:2477:(.text+0x21): undefined reference to `PyUnicode_AsASCIIString'
/usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: /home/xeon/Temp/Python-3.13.8/./Modules/_cursesmodule.c:2480:(.text+0x32): undefined reference to `_PyMem_Strdup'
/usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: /home/xeon/Temp/Python-3.13.8/./Modules/_cursesmodule.c:2486:(.text+0x53): undefined reference to `PyMem_Free'
/usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: Modules/_cursesmodule.o: in function `Py_DECREF':
/home/xeon/Temp/Python-3.13.8/./Include/object.h:949:(.text+0x6c): undefined reference to `_Py_Dealloc'
/usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: Modules/_cursesmodule.o: in function `PyCursesWindow_set_encoding':
/home/xeon/Temp/Python-3.13.8/./Modules/_cursesmodule.c:2473:(.text+0x7b): undefined reference to `PyExc_TypeError'
/usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: /home/xeon/Temp/Python-3.13.8/./Modules/_cursesmodule.c:2473:(.text+0x8a): undefined reference to `PyErr_SetString'
/usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: /home/xeon/Temp/Python-3.13.8/./Modules/_cursesmodule.c:2483:(.text+0x96): undefined reference to `PyErr_NoMemory'
/usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: /home/xeon/Temp/Python-3.13.8/./Modules/_cursesmodule.c:2467:(.text+0x9f): undefined reference to `PyExc_TypeError'
/usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: /home/xeon/Temp/Python-3.13.8/./Modules/_cursesmodule.c:2467:(.text+0xae): undefined reference to `PyErr_SetString'
/usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: Modules/_cursesmodule.o: in function `PyCursesWindow_wtimeout':
...
I can post the full ./configure
and make
logs, but they are big (29.5Kb + 455.5Kb), so I ask first.
No matter the Python version and patch level (3.12x, 3.13x), it always choke at the same point.
Is it currently possible to compile Python v3.12 and up in OMLx, or is it not possible and the cause for the python version in the repo is v3.11.11?
Thanks