jupyter-xeus / xeus-cling

Jupyter kernel for the C++ programming language
BSD 3-Clause "New" or "Revised" License
3.01k stars 294 forks source link

Google Colab Support #489

Open jonas-eschmann opened 1 year ago

jonas-eschmann commented 1 year ago

Hi, I'm encountering issues with Binder not being able to pull the successfully built images to the execution hosts. I guess this is related to the images being quite big (~4-5GB due to all the dependencies in conda) and the recent reduction in capacity at Binder (https://blog.jupyter.org/mybinder-org-reducing-capacity-c93ccfc6413f). I hope they find a way to get more capacity in the future because it is a truly great service. Meanwhile, I'm looking for alternatives and Google Colab seems to be the only one. Since they recently added the possibility to switch kernels to their UI (https://twitter.com/GoogleColab/status/1671265645756039168), I thought it might be worth thinking about establishing compatibility of xeus-cling with Google colab.

Installing conda is fairly easy and also getting the xeus-cling kernels to show up works. But when running them the jupyter server seems to be unable to connect (the logs appear to be in reverse order):

Jul 6, 2023, 10:21:22 PM | WARNING | what(): Invalid argument
Jul 6, 2023, 10:21:22 PM | WARNING | terminate called after throwing an instance of 'zmq::error_t'
Jul 6, 2023, 10:21:22 PM | WARNING | Extraction of runtime standard library version was: '20230528'
Jul 6, 2023, 10:21:22 PM | WARNING | Possible C++ standard library mismatch, compiled with __GLIBCXX__ '20220628'
Jul 6, 2023, 10:21:22 PM | WARNING | Warning in cling::IncrementalParser::CheckABICompatibility():

This can be reproduced in the following notebook:

https://colab.research.google.com/drive/1aLZVb1WbpZshQ-3-XLL1fxN6I5C6h08w?usp=sharing

I'm not sure how to tackle this at the moment but I think it would be great to establish colab support