xeus-cling
xeus-cling copied to clipboard
Release of cling v0.9 based on LLVM9
Hi all,
I just wanted to give you heads up that we are about to release cling v0.9 which is based on llvm9.
Are there any issues on the xeus-cling side with the current master?
Best, Vassil
Hey @vgvassilev thanks for posting here.
I have not tried the current master quite yet. How much time do we have before the release. Is it a matter of hours or days?
ROOT and cling's CUDA backend seems happy. It is not urgent but basically I am waiting for your green light to prepare a new release.
ping...
Hey, sorry for the late reply.
I can't think of anything that may block us from using an llvm9-based build. I will need to check if the llvm apis that we use to redirect printf here but it is not really cling0related.
Most of the complexity on our side will be about making the variants of the clang (and potentially llvm) packages on conda-forge, which is not super simple.
Heya -- thank you for providing such an amazing tool!
If it's not too much trouble/time, would you be willing to bump cling to version 0.9 please 🙏
The jump in LLVM/Clang versions (and consequently supported C++ features) was quite drastic I could also maybe look into trying to PR this
EDIT: I think it might build if you slightly tweak the Jupyter kernel patch, left comment here: https://github.com/conda-forge/cling-feedstock/pull/48#issuecomment-850855701
Hi team, I did run across a crash when trying to display an image, noticed that the crash was found only in the xeus-cling-dev env but not in base env, where xeus-cling was installed via a conda command conda install xeus-cling -c conda-forge.. see more details from Build xeus-cling from source.
Problem Desc: notebook run displayImage caused a crash
plt::figure();
plt::imshow(image);
auto pltImg = displayImage(image);
run displayImage(image) ended up with following crash.
Fatal Python error: init_import_site: Failed to import the site module
Python runtime state: initialized
Traceback (most recent call last):
File "/Users/nling/opt/miniconda3/envs/xeus-cling-dev/lib/python3.9/site.py", line 73, in <module>
import os
File "/Users/nling/opt/miniconda3/envs/xeus-cling-dev/lib/python3.9/os.py", line 29, in <module>
from _collections_abc import _check_methods
File "/Users/nling/opt/miniconda3/envs/xeus-cling-dev/lib/python3.9/_collections_abc.py", line 416, in <module>
class _CallableGenericAlias(GenericAlias):
TypeError: type 'types.GenericAlias' is not an acceptable base type
source code of displayImage:
auto displayImage(){
plt::save("tmp.png");
auto img = im::image("tmp.png");
return img;
}
conda info outputs for the base env:
(base) ➜ ~ conda install xeus-cling -c conda-forge
(base) ➜ ~ conda info
active environment : base
active env location : /Users/nling/opt/miniconda3
shell level : 1
user config file : /Users/nling/.condarc
populated config files :
conda version : 4.10.1
conda-build version : not installed
python version : 3.9.1.final.0
virtual packages : __osx=10.15.7=0
__unix=0=0
__archspec=1=x86_64
base environment : /Users/nling/opt/miniconda3 (writable)
conda av data dir : /Users/nling/opt/miniconda3/etc/conda
conda av metadata url : https://repo.anaconda.com/pkgs/main
channel URLs : https://repo.anaconda.com/pkgs/main/osx-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/osx-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /Users/nling/opt/miniconda3/pkgs
/Users/nling/.conda/pkgs
envs directories : /Users/nling/opt/miniconda3/envs
/Users/nling/.conda/envs
platform : osx-64
user-agent : conda/4.10.1 requests/2.25.0 CPython/3.9.1 Darwin/19.6.0 OSX/10.15.7
UID:GID : 501:20
netrc file : None
offline mode : False
conda list output for the base env:
(base) ➜ ~ conda list
# packages in environment at /Users/nling/opt/miniconda3:
#
# Name Version Build Channel
anyio 3.2.1 py39h6e9494a_0 conda-forge
appnope 0.1.2 py39h6e9494a_1 conda-forge
argon2-cffi 20.1.0 py39hcbf5805_2 conda-forge
async_generator 1.10 py_0 conda-forge
attrs 21.2.0 pyhd8ed1ab_0 conda-forge
babel 2.9.1 pyh44b312d_0 conda-forge
backcall 0.2.0 pyh9f0ad1d_0 conda-forge
backports 1.0 py_2 conda-forge
backports.functools_lru_cache 1.6.4 pyhd8ed1ab_0 conda-forge
blas 1.0 mkl
bleach 3.3.0 pyh44b312d_0 conda-forge
brotlipy 0.7.0 py39h9ed2024_1003
ca-certificates 2021.5.30 h033912b_0 conda-forge
certifi 2021.5.30 py39h6e9494a_0 conda-forge
cffi 1.14.4 py39h2125817_0
chardet 3.0.4 py39hecd8cb5_1003
clang_variant 1.0 cling_v0.8 conda-forge
clangdev 5.0.0 hf1592d7_1012 conda-forge
cling 0.8 h1d6eb1e_0 conda-forge
conda 4.10.1 py39h6e9494a_0 conda-forge
conda-package-handling 1.7.2 py39h9ed2024_1
cppzmq 4.7.1 hf09c4ce_2 conda-forge
cryptography 3.3.1 py39hbcfaee0_0
cycler 0.10.0 py_2 conda-forge
decorator 5.0.9 pyhd8ed1ab_0 conda-forge
defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge
entrypoints 0.3 pyhd8ed1ab_1003 conda-forge
freetype 2.10.4 h4cff582_1 conda-forge
icu 68.1 h74dc148_0 conda-forge
idna 2.10 py_0
importlib-metadata 4.5.0 py39h6e9494a_0 conda-forge
intel-openmp 2021.2.0 hecd8cb5_564
ipykernel 5.5.5 py39h71a6800_0 conda-forge
ipython 7.24.1 py39h71a6800_0 conda-forge
ipython_genutils 0.2.0 py_1 conda-forge
jbig 2.1 h0d85af4_2003 conda-forge
jedi 0.18.0 py39h6e9494a_2 conda-forge
jinja2 3.0.1 pyhd8ed1ab_0 conda-forge
jpeg 9d hbcb3906_0 conda-forge
json5 0.9.5 pyh9f0ad1d_0 conda-forge
jsonschema 3.2.0 pyhd8ed1ab_3 conda-forge
jupyter_client 6.1.12 pyhd8ed1ab_0 conda-forge
jupyter_core 4.7.1 py39h6e9494a_0 conda-forge
jupyter_server 1.9.0 pyhd8ed1ab_0 conda-forge
jupyterlab 3.0.16 pyhd8ed1ab_0 conda-forge
jupyterlab_pygments 0.1.2 pyh9f0ad1d_0 conda-forge
jupyterlab_server 2.6.0 pyhd8ed1ab_0 conda-forge
kiwisolver 1.3.1 py39hedf5dff_1 conda-forge
lcms2 2.12 h577c468_0 conda-forge
lerc 2.2.1 h046ec9c_0 conda-forge
libcxx 11.1.0 habf9029_0 conda-forge
libdeflate 1.7 h35c211d_5 conda-forge
libedit 3.1.20191231 h1de35cc_1
libffi 3.3 hb1e8313_2
libiconv 1.16 haf1e3a3_0 conda-forge
libpng 1.6.37 h7cec526_2 conda-forge
libsodium 1.0.18 hbcb3906_1 conda-forge
libtiff 4.3.0 h1167814_1 conda-forge
libwebp-base 1.2.0 h0d85af4_2 conda-forge
libxml2 2.9.12 h93ec3fd_0 conda-forge
lz4-c 1.9.3 h046ec9c_0 conda-forge
markupsafe 2.0.1 py39h89e85a6_0 conda-forge
matplotlib 3.4.2 py39h6e9494a_0 conda-forge
matplotlib-base 3.4.2 py39hb07454d_0 conda-forge
matplotlib-inline 0.1.2 pyhd8ed1ab_2 conda-forge
mistune 0.8.4 py39hcbf5805_1003 conda-forge
mkl 2021.2.0 hecd8cb5_269
mkl-service 2.3.0 py39h9ed2024_1
mkl_fft 1.3.0 py39h4a7008c_2
mkl_random 1.2.1 py39hb2f4e1b_2
nbclassic 0.3.1 pyhd8ed1ab_1 conda-forge
nbclient 0.5.3 pyhd8ed1ab_0 conda-forge
nbconvert 6.1.0 py39h6e9494a_0 conda-forge
nbformat 5.1.3 pyhd8ed1ab_0 conda-forge
ncurses 6.2 h0a44026_1
nest-asyncio 1.5.1 pyhd8ed1ab_0 conda-forge
nlohmann_json 3.9.1 he49afe7_1 conda-forge
notebook 6.4.0 pyha770c72_0 conda-forge
numpy 1.20.2 py39h4b4dc7a_0
numpy-base 1.20.2 py39he0bd621_0
olefile 0.46 pyh9f0ad1d_1 conda-forge
openjpeg 2.4.0 h6e7aa92_1 conda-forge
openssl 1.1.1k h0d85af4_0 conda-forge
packaging 20.9 pyh44b312d_0 conda-forge
pandoc 2.14.0.3 h0d85af4_0 conda-forge
pandocfilters 1.4.2 py_1 conda-forge
parso 0.8.2 pyhd8ed1ab_0 conda-forge
pexpect 4.8.0 pyh9f0ad1d_2 conda-forge
pickleshare 0.7.5 py_1003 conda-forge
pillow 8.2.0 py39h5fdd921_1 conda-forge
pip 20.3.1 py39hecd8cb5_0
prometheus_client 0.11.0 pyhd8ed1ab_0 conda-forge
prompt-toolkit 3.0.19 pyha770c72_0 conda-forge
ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge
pugixml 1.11.4 he49afe7_0 conda-forge
pycosat 0.6.3 py39h9ed2024_0
pycparser 2.20 py_2
pygments 2.9.0 pyhd8ed1ab_0 conda-forge
pyopenssl 20.0.0 pyhd3eb1b0_1
pyparsing 2.4.7 pyh9f0ad1d_0 conda-forge
pyrsistent 0.17.3 py39hcbf5805_2 conda-forge
pysocks 1.7.1 py39hecd8cb5_0
python 3.9.1 h88f2d9e_2
python-dateutil 2.8.1 py_0 conda-forge
python.app 3 py39h9ed2024_0
python_abi 3.9 2_cp39 conda-forge
pytz 2021.1 pyhd8ed1ab_0 conda-forge
pyzmq 22.1.0 py39h7fec2f1_0 conda-forge
readline 8.0 h1de35cc_0
requests 2.25.0 pyhd3eb1b0_0
requests-unixsocket 0.2.0 py_0 conda-forge
ruamel_yaml 0.15.80 py39h9ed2024_0
send2trash 1.7.1 pyhd8ed1ab_0 conda-forge
setuptools 51.0.0 py39hecd8cb5_2
six 1.15.0 py39hecd8cb5_0
sniffio 1.2.0 py39h6e9494a_1 conda-forge
sqlite 3.33.0 hffcf06c_0
terminado 0.10.1 py39h6e9494a_0 conda-forge
testpath 0.5.0 pyhd8ed1ab_0 conda-forge
tk 8.6.10 hb0a8c7a_0
tornado 6.1 py39hcbf5805_1 conda-forge
tqdm 4.54.1 pyhd3eb1b0_0
traitlets 5.0.5 py_0 conda-forge
tzdata 2020d h14c3975_0
urllib3 1.25.11 py_0
wcwidth 0.2.5 pyh9f0ad1d_2 conda-forge
webencodings 0.5.1 py_1 conda-forge
websocket-client 0.57.0 py39h6e9494a_4 conda-forge
wheel 0.36.1 pyhd3eb1b0_0
xeus 1.0.3 hf09c4ce_1 conda-forge
xeus-cling 0.12.1 h79ef1c8_0 conda-forge
xtl 0.7.2 h940c156_1 conda-forge
xz 5.2.5 h1de35cc_0
yaml 0.2.5 haf1e3a3_0
zeromq 4.3.4 h1c7c35f_0 conda-forge
zipp 3.4.1 pyhd8ed1ab_0 conda-forge
zlib 1.2.11 h1de35cc_3
zstd 1.5.0 h582d3a0_0 conda-forge
conda info outputs for the xeus-cling-dev env:
(xeus-cling-dev) ➜ ~ conda info
active environment : xeus-cling-dev
active env location : /Users/nling/opt/miniconda3/envs/xeus-cling-dev
shell level : 2
user config file : /Users/nling/.condarc
populated config files :
conda version : 4.10.1
conda-build version : not installed
python version : 3.9.1.final.0
virtual packages : __osx=10.15.7=0
__unix=0=0
__archspec=1=x86_64
base environment : /Users/nling/opt/miniconda3 (writable)
conda av data dir : /Users/nling/opt/miniconda3/etc/conda
conda av metadata url : https://repo.anaconda.com/pkgs/main
channel URLs : https://repo.anaconda.com/pkgs/main/osx-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/osx-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /Users/nling/opt/miniconda3/pkgs
/Users/nling/.conda/pkgs
envs directories : /Users/nling/opt/miniconda3/envs
/Users/nling/.conda/envs
platform : osx-64
user-agent : conda/4.10.1 requests/2.25.0 CPython/3.9.1 Darwin/19.6.0 OSX/10.15.7
UID:GID : 501:20
netrc file : None
offline mode : False
conda list output for the xeus-cling-dev env:
(xeus-cling-dev) ➜ ~ conda list
# packages in environment at /Users/nling/opt/miniconda3/envs/xeus-cling-dev:
#
# Name Version Build Channel
anyio 2.2.0 py39hecd8cb5_1
appnope 0.1.2 py39hecd8cb5_1001
argon2-cffi 20.1.0 py39h9ed2024_1
async_generator 1.10 pyhd3eb1b0_0
attrs 21.2.0 pyhd3eb1b0_0
babel 2.9.1 pyhd3eb1b0_0
backcall 0.2.0 pyhd3eb1b0_0
blas 1.0 mkl
bleach 3.3.0 pyhd3eb1b0_0
brotlipy 0.7.0 py39h9ed2024_1003
bzip2 1.0.8 h1de35cc_0
c-ares 1.17.1 h9ed2024_0
ca-certificates 2021.5.25 hecd8cb5_1
certifi 2021.5.30 py39hecd8cb5_0
cffi 1.14.5 py39h2125817_0
chardet 4.0.0 py39hecd8cb5_1003
clang_variant 1.0 cling_v0.8 conda-forge
clangdev 5.0.0 hf1592d7_1012 conda-forge
cling 0.8 h1d6eb1e_0 conda-forge
cmake 3.20.5 hdbd2f3e_0 conda-forge
cppzmq 4.7.1 hf09c4ce_2 conda-forge
cryptography 3.4.7 py39h2fd3fbb_0
cxxopts 2.2.1 h9a9d8cb_0 conda-forge
cycler 0.10.0 py39hecd8cb5_0
decorator 5.0.9 pyhd3eb1b0_0
defusedxml 0.7.1 pyhd3eb1b0_0
entrypoints 0.3 py39hecd8cb5_0
expat 2.4.1 h23ab428_2
freetype 2.10.4 ha233b18_0
icu 58.2 h0a44026_3
idna 2.10 pyhd3eb1b0_0
importlib-metadata 3.10.0 py39hecd8cb5_0
importlib_metadata 3.10.0 hd3eb1b0_0
intel-openmp 2021.2.0 hecd8cb5_564
ipykernel 5.3.4 py39h01d92e1_0
ipython 7.24.1 py39h71a6800_0 conda-forge
ipython_genutils 0.2.0 pyhd3eb1b0_1
jbig 2.1 h4d881f8_0
jedi 0.18.0 py39hecd8cb5_1
jinja2 3.0.1 pyhd3eb1b0_0
jpeg 9d hbcb3906_0 conda-forge
json5 0.9.6 pyhd3eb1b0_0
jsonschema 3.2.0 py_2
jupyter_client 6.1.12 pyhd3eb1b0_0
jupyter_core 4.7.1 py39hecd8cb5_0
jupyter_server 1.4.1 py39hecd8cb5_0
jupyterlab 3.0.16 pyhd8ed1ab_0 conda-forge
jupyterlab_pygments 0.1.2 py_0
jupyterlab_server 2.4.0 pyhd3eb1b0_0
kiwisolver 1.3.1 py39h23ab428_0
krb5 1.19.1 hcd88c3b_0
lcms2 2.12 hf1fd2bf_0
lerc 2.2.1 h23ab428_0
libcurl 7.77.0 hf45b732_0 conda-forge
libcxx 11.1.0 habf9029_0 conda-forge
libdeflate 1.7 h9ed2024_5
libedit 3.1.20210216 h9ed2024_1
libev 4.33 haf1e3a3_0
libffi 3.3 hb1e8313_2
libiconv 1.16 h1de35cc_0
libnghttp2 1.43.0 h07e645a_0 conda-forge
libpng 1.6.37 ha441bb4_0
libsodium 1.0.18 h1de35cc_0
libssh2 1.9.0 ha12b0ac_1
libtiff 4.3.0 h1167814_1 conda-forge
libuv 1.40.0 haf1e3a3_0
libwebp-base 1.2.0 h9ed2024_0
libxml2 2.9.12 hcdb78fc_0
llvm-meta 5.0.0 0 conda-forge
llvmdev 5.0.0 h926bf3e_1005 conda-forge
lz4-c 1.9.3 h23ab428_0
markupsafe 2.0.1 py39h9ed2024_0
matplotlib 3.3.4 py39hecd8cb5_0
matplotlib-base 3.3.4 py39h8b3ea08_0
matplotlib-inline 0.1.2 pyhd8ed1ab_2 conda-forge
mistune 0.8.4 py39h9ed2024_1000
mkl 2021.2.0 hecd8cb5_269
mkl-service 2.3.0 py39h9ed2024_1
mkl_fft 1.3.0 py39h4a7008c_2
mkl_random 1.2.1 py39hb2f4e1b_2
nbclassic 0.2.6 pyhd3eb1b0_0
nbclient 0.5.3 pyhd3eb1b0_0
nbconvert 6.0.7 py39hecd8cb5_0
nbformat 5.1.3 pyhd3eb1b0_0
ncurses 6.2 h0a44026_1
nest-asyncio 1.5.1 pyhd3eb1b0_0
nlohmann_json 3.9.1 he49afe7_1 conda-forge
notebook 6.4.0 py39hecd8cb5_0
numpy 1.20.2 py39h4b4dc7a_0
numpy-base 1.20.2 py39he0bd621_0
olefile 0.46 py_0
openssl 1.1.1k h9ed2024_0
packaging 20.9 pyhd3eb1b0_0
pandoc 2.12 hecd8cb5_0
pandocfilters 1.4.3 py39hecd8cb5_1
parso 0.8.2 pyhd3eb1b0_0
pexpect 4.8.0 pyhd3eb1b0_3
pickleshare 0.7.5 pyhd3eb1b0_1003
pillow 8.2.0 py39h5270095_0
pip 21.1.2 py39hecd8cb5_0
prometheus_client 0.11.0 pyhd3eb1b0_0
prompt-toolkit 3.0.17 pyh06a4308_0
ptyprocess 0.7.0 pyhd3eb1b0_2
pugixml 1.11.4 he49afe7_0 conda-forge
pycparser 2.20 py_2
pygments 2.9.0 pyhd3eb1b0_0
pyopenssl 20.0.1 pyhd3eb1b0_1
pyparsing 2.4.7 pyhd3eb1b0_0
pyrsistent 0.17.3 py39h9ed2024_0
pysocks 1.7.1 py39hecd8cb5_0
python 3.9.5 h88f2d9e_3
python-dateutil 2.8.1 pyhd3eb1b0_0
python_abi 3.9 2_cp39 conda-forge
pytz 2021.1 pyhd3eb1b0_0
pyzmq 20.0.0 py39h23ab428_1
readline 8.1 h9ed2024_0
requests 2.25.1 pyhd3eb1b0_0
rhash 1.4.1 hbcfaee0_1
send2trash 1.5.0 pyhd3eb1b0_1
setuptools 52.0.0 py39hecd8cb5_0
six 1.16.0 pyhd3eb1b0_0
sniffio 1.2.0 py39hecd8cb5_1
sqlite 3.36.0 hce871da_0
terminado 0.9.4 py39hecd8cb5_0
testpath 0.5.0 pyhd3eb1b0_0
tk 8.6.10 hb0a8c7a_0
tornado 6.1 py39h9ed2024_0
traitlets 5.0.5 pyhd3eb1b0_0
tzdata 2021a h52ac0ba_0
urllib3 1.26.4 pyhd3eb1b0_0
wcwidth 0.2.5 py_0
webencodings 0.5.1 py39hecd8cb5_1
wheel 0.36.2 pyhd3eb1b0_0
xeus 1.0.0 h6daa668_0 conda-forge
xtl 0.7.2 h940c156_1 conda-forge
xz 5.2.5 h1de35cc_0
zeromq 4.3.4 h23ab428_0
zipp 3.4.1 pyhd3eb1b0_0
zlib 1.2.11 h1de35cc_3
zstd 1.5.0 h582d3a0_0 conda-forge
Ran conda update matplotlib, trying to downgrade matplotlib from v3.4.2 to v3.3.4. Rebuild and reinstall xeus-cling, wasn't lucky, the crash is still there.
(xeus-cling-dev) ➜ opencv conda update matplotlib
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /Users/nling/opt/miniconda3/envs/xeus-cling-dev
added / updated specs:
- matplotlib
The following packages will be downloaded:
package | build
---------------------------|-----------------
matplotlib-3.3.4 | py39hecd8cb5_0 26 KB
matplotlib-base-3.3.4 | py39h8b3ea08_0 5.1 MB
------------------------------------------------------------
Total: 5.1 MB
The following packages will be SUPERSEDED by a higher-priority channel:
matplotlib conda-forge::matplotlib-3.4.2-py39h6e~ --> pkgs/main::matplotlib-3.3.4-py39hecd8cb5_0
matplotlib-base conda-forge::matplotlib-base-3.4.2-py~ --> pkgs/main::matplotlib-base-3.3.4-py39h8b3ea08_0