Closed oberstet closed 2 years ago
in a completely newly built cpy3.10 and fresh venv:
Building wheel for vmprof (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/oberstet/scm/crossbario/crossbar/vers/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-1rh9jwvm/vmprof/setup.py'"'"'; __file__='"'"'/tmp/pip-install-1rh9jwvm/vmprof/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-wvqhn72e --python-tag cp310
cwd: /tmp/pip-install-1rh9jwvm/vmprof/
Complete output (216 lines):
running bdist_wheel
running build
running build_py
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for gcc... gcc
...
checking whether strnlen is declared... yes
checking for getexecname... no
checking whether tests can run... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating backtrace-supported.h
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing libtool commands
sed: can't read ./ltmain.sh: No such file or directory
sed: can't read ./ltmain.sh: No such file or directory
mv: cannot stat 'libtoolT': No such file or directory
cp: cannot stat 'libtoolT': No such file or directory
chmod: cannot access 'libtool': No such file or directory
config.status: executing gstdint.h commands
config.status: executing default commands
creating build
creating build/lib.linux-x86_64-3.10
creating build/lib.linux-x86_64-3.10/vmprof
copying vmprof/stats.py -> build/lib.linux-x86_64-3.10/vmprof
copying vmprof/__init__.py -> build/lib.linux-x86_64-3.10/vmprof
copying vmprof/show.py -> build/lib.linux-x86_64-3.10/vmprof
...
copying jitlog/parser.py -> build/lib.linux-x86_64-3.10/jitlog
running build_ext
building '_vmprof' extension
creating build/temp.linux-x86_64-3.10
creating build/temp.linux-x86_64-3.10/src
creating build/temp.linux-x86_64-3.10/src/libbacktrace
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/_vmprof.c -o build/temp.linux-x86_64-3.10/src/_vmprof.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
src/_vmprof.c: In function ‘emit_code_object’:
src/_vmprof.c:68:13: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
68 | co_name = PyUnicode_AsUTF8(co->co_name);
| ^
src/_vmprof.c:71:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
71 | co_filename = PyUnicode_AsUTF8(co->co_filename);
| ^
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/compat.c -o build/temp.linux-x86_64-3.10/src/compat.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/libbacktrace/backtrace.c -o build/temp.linux-x86_64-3.10/src/libbacktrace/backtrace.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/libbacktrace/dwarf.c -o build/temp.linux-x86_64-3.10/src/libbacktrace/dwarf.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/libbacktrace/elf.c -o build/temp.linux-x86_64-3.10/src/libbacktrace/elf.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/libbacktrace/fileline.c -o build/temp.linux-x86_64-3.10/src/libbacktrace/fileline.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/libbacktrace/mmap.c -o build/temp.linux-x86_64-3.10/src/libbacktrace/mmap.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/libbacktrace/mmapio.c -o build/temp.linux-x86_64-3.10/src/libbacktrace/mmapio.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/libbacktrace/posix.c -o build/temp.linux-x86_64-3.10/src/libbacktrace/posix.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/libbacktrace/sort.c -o build/temp.linux-x86_64-3.10/src/libbacktrace/sort.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/libbacktrace/state.c -o build/temp.linux-x86_64-3.10/src/libbacktrace/state.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/machine.c -o build/temp.linux-x86_64-3.10/src/machine.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/symboltable.c -o build/temp.linux-x86_64-3.10/src/symboltable.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/oberstet/scm/crossbario/crossbar/vers/include -I/home/oberstet/cpy310/include/python3.10 -c src/vmp_stack.c -o build/temp.linux-x86_64-3.10/src/vmp_stack.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 -I src/ -I src/libbacktrace
In file included from /home/oberstet/cpy310/include/python3.10/bytesobject.h:62,
from /home/oberstet/cpy310/include/python3.10/Python.h:95,
from src/vmprof.h:6,
from src/vmp_stack.h:3,
from src/vmp_stack.c:1:
src/vmp_stack.c: In function ‘_write_python_stack_entry’:
src/vmp_stack.c:102:47: error: ‘PyCodeObject’ {aka ‘struct PyCodeObject’} has no member named ‘co_lnotab’
102 | lnotab = PyStr_AS_STRING(frame->f_code->co_lnotab);
| ^~
/home/oberstet/cpy310/include/python3.10/cpython/bytesobject.h:33:53: note: in definition of macro ‘PyBytes_AS_STRING’
33 | (((PyBytesObject *)(op))->ob_sval))
| ^~
src/vmp_stack.c:102:18: note: in expansion of macro ‘PyStr_AS_STRING’
102 | lnotab = PyStr_AS_STRING(frame->f_code->co_lnotab);
| ^~~~~~~~~~~~~~~
In file included from /home/oberstet/cpy310/include/python3.10/Python.h:87,
from src/vmprof.h:6,
from src/vmp_stack.h:3,
from src/vmp_stack.c:1:
src/vmp_stack.c:108:52: error: ‘PyCodeObject’ {aka ‘struct PyCodeObject’} has no member named ‘co_lnotab’
108 | len = (int)PyStr_GET_SIZE(frame->f_code->co_lnotab);
| ^~
/home/oberstet/cpy310/include/python3.10/object.h:121:47: note: in definition of macro ‘_PyVarObject_CAST’
121 | #define _PyVarObject_CAST(op) ((PyVarObject*)(op))
| ^~
/home/oberstet/cpy310/include/python3.10/cpython/bytesobject.h:34:58: note: in expansion of macro ‘Py_SIZE’
34 | #define PyBytes_GET_SIZE(op) (assert(PyBytes_Check(op)),Py_SIZE(op))
| ^~~~~~~
src/compat.h:8:30: note: in expansion of macro ‘PyBytes_GET_SIZE’
8 | #define PyStr_GET_SIZE PyBytes_GET_SIZE
| ^~~~~~~~~~~~~~~~
src/vmp_stack.c:108:24: note: in expansion of macro ‘PyStr_GET_SIZE’
108 | len = (int)PyStr_GET_SIZE(frame->f_code->co_lnotab);
| ^~~~~~~~~~~~~~
error: command '/usr/bin/gcc' failed with exit code 1
----------------------------------------
ERROR: Failed building wheel for vmprof
Running setup.py clean for vmprof
That's because Python 3.10 is currently not supported for Crossbar as mentioned in https://github.com/crossbario/crossbar/issues/1896
When using Python 3.10, vmprof has to be installed from master
When using Python 3.10, vmprof has to be installed from master
ahh, right, rgd py3.10, thanks for reminding;) so what should we do for a CB release?
The mapping related issue was fixed via https://github.com/crossbario/crossbar/commit/93f3931eb3fb34bae59c6a8d3d4bcbbef7131d67
The two main issues are: vmprof and cython (see traceback on the issue)
vmprof issue has a workaround (install from master). For cython, need to investigate still
rgd cython, just tried:
(cpy310_1) oberstet@intel-nuci7:~/scm/crossbario/crossbar$ pip install cython
Collecting cython
Using cached Cython-0.29.24-py2.py3-none-any.whl (979 kB)
Installing collected packages: cython
Successfully installed cython-0.29.24
(cpy310_1) oberstet@intel-nuci7:~/scm/crossbario/crossbar$ python
Python 3.10.0 (default, Nov 24 2021, 12:27:36) [GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from cytoolz.functoolz import *
>>> import eth_account
>>>
so it seems to work with vmprof from master:
pip install git+https://github.com/vmprof/vmprof-python.git#egg=vmprof
pip install -e .
crossbar version
(cpy310_1) oberstet@intel-nuci7:~/scm/crossbario/crossbar$ crossbar version
:::::::::::::::::
::::: _____ __ _____ __
::::: : ::::: / ___/______ ___ ___ / / ___ _____ / __/ |/_/
::::::: ::::::: / /__/ __/ _ \(_-<(_-</ _ \/ _ `/ __/ / _/_> <
::::: : ::::: \___/_/ \___/___/___/_.__/\_,_/_/ /_/ /_/|_|
:::::
::::::::::::::::: Crossbar.io FX v21.11.1 [19000101-0000000]
Copyright (c) 2013-2021 Crossbar.io Technologies GmbH. All rights reserved.
Crossbar.io : 21.11.1
txaio : 21.2.1
Autobahn : 21.11.1
UTF8 Validator : wsaccel-0.6.2
XOR Masker : wsaccel-0.6.2
JSON Codec : stdlib
MsgPack Codec : msgpack-1.0.2
CBOR Codec : cbor-1.0.0
UBJSON Codec : ubjson-0.16.1
FlatBuffers : flatbuffers-2.0
Twisted : 21.7.0-EPollReactor
LMDB : 1.2.1/lmdb-0.9.29
Python : 3.10.0/CPython
PIP : 21.3.1
NumPy : 1.21.4
zLMDB : 21.2.1
CFXDB : 21.2.1
XBR : 21.2.1
Frozen executable : no
Operating system : Linux-5.4.0-90-generic-x86_64-with-glibc2.31
Host machine : x86_64
Release key : RWT8YYDwXKYOjxxrQbsnUGFiIMKO5MDuAt+0i0s12fxM3zpfy3TCP4rU
and starting a node
(cpy310_1) oberstet@intel-nuci7:~/scm/oberstet/wmc/node$ crossbar start
2021-11-24T13:14:00+0100 [Controller 61240]
2021-11-24T13:14:00+0100 [Controller 61240] :::::::::::::::::
2021-11-24T13:14:00+0100 [Controller 61240] ::::: _____ __
2021-11-24T13:14:00+0100 [Controller 61240] ::::: : ::::: / ___/____ ___ ___ ___ / / ___ _ ____
2021-11-24T13:14:00+0100 [Controller 61240] ::::::: ::::::: / /__ / __// _ \ (_-< (_-< / _ \/ _ `// __/
2021-11-24T13:14:00+0100 [Controller 61240] ::::: : ::::: \___//_/ \___//___//___//_.__/\_,_//_/
2021-11-24T13:14:00+0100 [Controller 61240] :::::
2021-11-24T13:14:00+0100 [Controller 61240] ::::::::::::::::: Crossbar v21.11.1
2021-11-24T13:14:00+0100 [Controller 61240]
2021-11-24T13:14:00+0100 [Controller 61240] Copyright (c) 2013-2021 Crossbar.io Technologies GmbH, licensed under AGPL 3.0.
2021-11-24T13:14:00+0100 [Controller 61240]
2021-11-24T13:14:00+0100 [Controller 61240] Booting standalone node .. <crossbar.node.main._run_command_start>
2021-11-24T13:14:00+0100 [Controller 61240] Node configuration loaded [config_source=localfile, config_path=/home/oberstet/scm/oberstet/wmc/node/.crossbar/config.json]
2021-11-24T13:14:00+0100 [Controller 61240] Node key files exist and are valid. Node public key is 0xc98180f9e67557f69bb8d37bdb50a60e238525addbbbd4fe77231373110551f6
2021-11-24T13:14:00+0100 [Controller 61240] Node key loaded from /home/oberstet/scm/oberstet/wmc/node/.crossbar/key.priv
2021-11-24T13:14:00+0100 [Controller 61240] Entering event reactor ...
2021-11-24T13:14:00+0100 [Controller 61240] Starting node .. [<crossbar.node.node.Node.start>]
so the only issue left is vmprof (master works, but we need to be able to refer to a vmprof release in CB)"
so it seems to work with vmprof from master:
This is gold. Having to use Crossbar with CPython 3.10 and PyPy 3.8 is going to be a great.
alright, let's see if we get any feedback https://github.com/vmprof/vmprof-python/issues/240 soonish. if not, we'll remove vmprof again .... actually, would love to keep it in CB, and the right thing to do would help with https://github.com/vmprof/vmprof-python/issues/241 .. yes yes ..
hmm, we could probably ship the new release with vmprof from master, I guess that could work as well ?
we could probably ship the new release with vmprof from master, I guess that could work as well ?
yeah, changed it in the PR .. let's see what happens
we also already use own forks for 2 packages .. all of which is an annoyance, because there is no "stable wheel base" to do all the binaries building
because of above, and for repeatability, I wanted to:
not sure what's the status of above ... I think it might already work like this? anyways: that would solve the hassles IMO ..
I've merged this now with using vmprof master .. we can wait a couple of days, for possibly vmprof doind a release, and also to add whatever smaller fixes or what still would accumulate before a release
cpy 3.11 build fails with
building '_vmprof' extension
creating build/temp.linux-x86_64-cpython-311
creating build/temp.linux-x86_64-cpython-311/src
creating build/temp.linux-x86_64-cpython-311/src/libbacktrace
gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/local/include/python3.11 -c src/_vmprof.c -o build/temp.linux-x86_64-cpython-311/src/_vmprof.o -Wno-unused -DVMPROF_LINUX=1 -DVMPROF_UNIX=1 "-I src/" "-I src/libbacktrace"
src/_vmprof.c: In function ‘sample_stack_now’:
src/_vmprof.c:301:53: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
301 | entry_count = vmp_walk_and_record_stack(tstate->frame, m, SINGLE_BUF_SIZE/sizeof(void*)-1, (int)skip, 0);
| ^~~~~
| cframe
error: command '/usr/bin/gcc' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for vmprof
Running setup.py clean for vmprof
Failed to build vmprof
couple of smaller issues .. the docs in CI run into
the
soss_licenses_table
file is generated inmake freeze
, which creates requirements file and this license overview for all depswhile doing the
make freeze
to prepare this PR, the following appeared on my system(this could be bogus ... I didn't test in a completely fresh venv ... other stuff might interfere)
and