Portál AbcLinuxu, 1. května 2025 01:34
No jestli tě ještě chuť nepřešla, tak zkoušej. Vytvořil jsem skript try_uclang.sh
, který by to mohl celé provést sám.
Kompilace by měla automaticky detekovat moduly, které je možné zkompilovat (na základě přítomnosti knihoven v systému), ale není to dokonalé (rozdílné verze knihoven apod.). Pokud to některý modul nezkompiluje, tak jen k jeho jménu v souboru uclang/uclang_build/mf_mods.py
napiš False
a spusť výše uvedený skript (try_uclang.sh
) znovu. Ostatně takto můžeš pro kompilaci vybrat jen moduly, které tě zajímají (python, lua, v8, json, base).
/home/mario/tmp/uclang/uclang/uclang_build/proc_files/python_uclm/p.ucl_python.cc: In static member function ‘static location_s* python_c::py_object_value(interpreter_thread_s&, PyObject*, uli)’: /home/mario/tmp/uclang/uclang/uclang_build/proc_files/python_uclm/p.ucl_python.cc:16084:53: error: cannot convert ‘int*’ to ‘Py_ssize_t* {aka long int*}’ for argument ‘3’ to ‘int PyString_AsStringAndSize(PyObject*, char**, Py_ssize_t*)’ PyString_AsStringAndSize(pyo_obj,&buffer,&length);
No to se podívejme, a přitom při volání jiných python funkcí Py_ssize_t
používám. Díky za report, bug jsem opravil. Bude potřeba provést git pull
v adresáři uclang
, nebo tento adresář smazat, aby si jej skript try_uclang.sh
znovu naklonoval. Otestoval jsem opravu na 64bit systému a vypadá to, že už to funguje.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.