Hi,
long story short: I have a dockerfile in which I install ROOT on the base image of a jupyter notebook.
After exporting the env variables, ROOT (JupyROOT 6.22/09) is importable on a python notebook.
The next step I want to achieve is to add the C++ kernel already present in $ROOTSYS/etc/notebook/kernels/root
, and following the guide from @linev, I managed to have the C++ kernel selectable in the jupyter GUI options.
Here comes the issue: as soon as I open up a notebook with such a kernel, on the docker terminal I get this error:
[I 06:33:50.569 NotebookApp] Writing notebook-signing key to /home/jovyan/.local/share/jupyter/notebook_secret
[I 06:33:51.954 NotebookApp] Kernel started: a1cff1b3-409a-4d64-bebe-9097804bcf14, name: root
[W 06:33:52.038 NotebookApp] 404 GET /nbextensions/widgets/notebook/js/extension.js?v=20210408063340 (172.17.0.1) 78.160000ms referer=http://127.0.0.1:8888/notebooks/Untitled.ipynb?kernel_name=root
Traceback (most recent call last):
File "/installdir/lib/cppyy/__init__.py", line 60, in <module>
importlib.import_module(libcppyy_mod_name)
File "/opt/conda/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 657, in _load_unlocked
File "<frozen importlib._bootstrap>", line 556, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 1101, in create_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: libcppyy_backend3_8.so: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/conda/lib/python3.8/runpy.py", line 185, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/opt/conda/lib/python3.8/runpy.py", line 111, in _get_module_details
__import__(pkg_name)
File "/installdir/lib/JupyROOT/__init__.py", line 1, in <module>
from JupyROOT.helpers import cppcompleter, utils
File "/installdir/lib/JupyROOT/helpers/cppcompleter.py", line 8, in <module>
from JupyROOT.helpers import utils
File "/installdir/lib/JupyROOT/helpers/utils.py", line 26, in <module>
import ROOT
File "/installdir/lib/ROOT/__init__.py", line 22, in <module>
import cppyy
File "/installdir/lib/cppyy/__init__.py", line 62, in <module>
raise ImportError(
ImportError: Failed to import libcppyy3_8. Please check that ROOT has been built for Python 3.8
[I 06:33:54.952 NotebookApp] KernelRestarter: restarting kernel (1/5), new random ports
Traceback (most recent call last):
File "/installdir/lib/cppyy/__init__.py", line 60, in <module>
importlib.import_module(libcppyy_mod_name)
File "/opt/conda/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 657, in _load_unlocked
File "<frozen importlib._bootstrap>", line 556, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 1101, in create_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: libcppyy_backend3_8.so: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/conda/lib/python3.8/runpy.py", line 185, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/opt/conda/lib/python3.8/runpy.py", line 111, in _get_module_details
__import__(pkg_name)
File "/installdir/lib/JupyROOT/__init__.py", line 1, in <module>
from JupyROOT.helpers import cppcompleter, utils
File "/installdir/lib/JupyROOT/helpers/cppcompleter.py", line 8, in <module>
from JupyROOT.helpers import utils
File "/installdir/lib/JupyROOT/helpers/utils.py", line 26, in <module>
import ROOT
File "/installdir/lib/ROOT/__init__.py", line 22, in <module>
import cppyy
File "/installdir/lib/cppyy/__init__.py", line 62, in <module>
raise ImportError(
ImportError: Failed to import libcppyy3_8. Please check that ROOT has been built for Python 3.8
Do you have any suggestion on how to perform a debug here?
For the sake of clarity, here is the container: soap2g/root_notebook:cpp
, I run it as
docker run -it --rm -e GRANT_SUDO=yes --user root -p 8888:8888 soap2g/root_notebook:cpp
ROOT Version: 6.22/09
Platform: Docker