Triton is a dynamic binary analysis library. Build your own program analysis tools, automate your reverse engineering, perform software verification or just emulate code.
Trying to build with python 3.12 fails with errors:
...
[ 84%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/objects/pyTritonContext.cpp.o
[ 85%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/pyXFunctions.cpp.o
[ 86%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/utils.cpp.o
/Users/mstanchin/share/git-reps/Triton/src/libtriton/bindings/python/utils.cpp:47:40: error: no member named 'ob_digit' in '_longobject'
x = (x << PyLong_SHIFT) | v->ob_digit[i];
~ ^
/Users/mstanchin/share/git-reps/Triton/src/libtriton/bindings/python/utils.cpp:76:40: error: no member named 'ob_digit' in '_longobject'
x = (x << PyLong_SHIFT) | v->ob_digit[i];
~ ^
/Users/mstanchin/share/git-reps/Triton/src/libtriton/bindings/python/utils.cpp:105:40: error: no member named 'ob_digit' in '_longobject'
x = (x << PyLong_SHIFT) | v->ob_digit[i];
~ ^
/Users/mstanchin/share/git-reps/Triton/src/libtriton/bindings/python/utils.cpp:134:40: error: no member named 'ob_digit' in '_longobject'
x = (x << PyLong_SHIFT) | v->ob_digit[i];
~ ^
/Users/mstanchin/share/git-reps/Triton/src/libtriton/bindings/python/utils.cpp:163:40: error: no member named 'ob_digit' in '_longobject'
x = (x << PyLong_SHIFT) | v->ob_digit[i];
~ ^
/Users/mstanchin/share/git-reps/Triton/src/libtriton/bindings/python/utils.cpp:192:40: error: no member named 'ob_digit' in '_longobject'
x = (x << PyLong_SHIFT) | v->ob_digit[i];
~ ^
/Users/mstanchin/share/git-reps/Triton/src/libtriton/bindings/python/utils.cpp:221:40: error: no member named 'ob_digit' in '_longobject'
x = (x << PyLong_SHIFT) | v->ob_digit[i];
~ ^
/Users/mstanchin/share/git-reps/Triton/src/libtriton/bindings/python/utils.cpp:251:23: error: no member named 'ob_digit' in '_longobject'
digit* p = v->ob_digit;
~ ^
/Users/mstanchin/share/git-reps/Triton/src/libtriton/bindings/python/utils.cpp:288:23: error: no member named 'ob_digit' in '_longobject'
digit* p = v->ob_digit;
~ ^
/Users/mstanchin/share/git-reps/Triton/src/libtriton/bindings/python/utils.cpp:328:23: error: no member named 'ob_digit' in '_longobject'
digit* p = v->ob_digit;
~ ^
/Users/mstanchin/share/git-reps/Triton/src/libtriton/bindings/python/utils.cpp:361:23: error: no member named 'ob_digit' in '_longobject'
digit* p = v->ob_digit;
~ ^
/Users/mstanchin/share/git-reps/Triton/src/libtriton/bindings/python/utils.cpp:394:23: error: no member named 'ob_digit' in '_longobject'
digit* p = v->ob_digit;
~ ^
/Users/mstanchin/share/git-reps/Triton/src/libtriton/bindings/python/utils.cpp:427:23: error: no member named 'ob_digit' in '_longobject'
digit* p = v->ob_digit;
~ ^
13 errors generated.
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/bindings/python/utils.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [src/libtriton/CMakeFiles/triton.dir/all] Error 2
make: *** [all] Error 2
AFAIK there is some changes in ABI in 3.12.
It can be fixed if i compile with older python headers, but as there is no specific version requirement in readme, thought it would be handy to highlight this in issue.
Trying to build with python 3.12 fails with errors:
AFAIK there is some changes in ABI in 3.12.
It can be fixed if i compile with older python headers, but as there is no specific version requirement in readme, thought it would be handy to highlight this in issue.