Skip to content

Conversation

martinRenou
Copy link
Member

No description provided.

Copy link

lite-badge 👈 Try it on ReadTheDocs

@jtpio
Copy link
Member

jtpio commented Aug 26, 2025

Has the issue noticed in #69 (comment) been fixed in the meantime?

@martinRenou
Copy link
Member Author

Yes, if I'm correct, jupyterlite/xeus#266 should be fixing this issue

@jtpio
Copy link
Member

jtpio commented Aug 26, 2025

Yes, if I'm correct, jupyterlite/xeus#266 should be fixing this issue

But this change was already part of 4.1.2 released on July 25th: https://github.com/jupyterlite/xeus/releases/tag/v4.1.2

While #69 (comment) was noticed on August 13th, so I guess we were already using that version?

From https://github.com/jupyter/try-jupyter/actions/runs/16919758940/job/47942661247?pr=69

image

@martinRenou
Copy link
Member Author

Ah I thought this was related to the possible incompatibility between xeus-cpp and some Python packages.

Since this looks like a xeus-cpp specific issue, we should pin xeus-cpp to the working version. It looks like the jupyterlite-xeus version has nothing to do with this issue?

@jtpio
Copy link
Member

jtpio commented Aug 27, 2025

You can try the RTD preview for this PR, the issue is still there: https://try-jupyter--71.org.readthedocs.build/en/71/lite/lab/index.html?path=notebooks%2Fcpp-third-party-libs.ipynb

@martinRenou
Copy link
Member Author

Friendly ping @anutosh491.

Do you know which xeus-cpp version does not have this bug?

@anutosh491
Copy link
Contributor

Technically I am still confused if this is a bug with xeus-cpp. nothing really changed as such there :(

But yeah a working combination would be this !

  + cppinterop : 1.7.0  h2072262_5 
  + xeus : 5.2.3  h2072262_0
  + xeus-cpp : 0.7.1  h2072262_2

@martinRenou
Copy link
Member Author

martinRenou commented Aug 28, 2025

Technically I am still confused if this is a bug with xeus-cpp. nothing really changed as such there :(

But yeah a working combination would be this !

  + cppinterop : 1.7.0  h2072262_5 
  + xeus : 5.2.3  h2072262_0
  + xeus-cpp : 0.7.1  h2072262_2

This did not work unfortunately.

The deployed build (that works) was using jupyterlite-xeus 4.0.5. Trying this version now to see if the bumping of jupyterlite-xeus is indeed the culprit. If it's not, I don't think it should be a blocker to update jupyterlite-xeus and merge this PR, we'd need to debug this issue separately from this PR.

@martinRenou
Copy link
Member Author

It seems to be the blocker indeed, with jupyterlite-xeus 4.0.5 it does work. Having a look!

@anutosh491
Copy link
Contributor

Thanks a lot for looking into this (I gave it a try playing around with multiple xeus/xeus-cpp/cppinterop/symengine versions some days back and I couldn't spot an obvious error)

@martinRenou
Copy link
Member Author

Yes, if I'm correct, jupyterlite/xeus#266 should be fixing this issue

I have a feeling I was actually completely wrong here. This PR may actually be the culprit.

Basically, since this PR we don't preload the dynamic libraries for other kernels that Python. Which apparently is not a good idea for xeus-cpp since it doesn't load the dynamic libraries automatically upon #include.

If this is confirmed, I will revert this PR and make a patch release of jupyterlite-xeus. We need a better story around loading dynamic libraries...

@martinRenou
Copy link
Member Author

Confirmed. Patch release incoming 🚢

@martinRenou
Copy link
Member Author

Screenshot From 2025-08-28 11-32-15

Copy link
Contributor

@anutosh491 anutosh491 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this, should be ready I suppose !

@IsabelParedes
Copy link

Yes, if I'm correct, jupyterlite/xeus#266 should be fixing this issue

I have a feeling I was actually completely wrong here. This PR may actually be the culprit.

Basically, since this PR we don't preload the dynamic libraries for other kernels that Python. Which apparently is not a good idea for xeus-cpp since it doesn't load the dynamic libraries automatically upon #include.

If this is confirmed, I will revert this PR and make a patch release of jupyterlite-xeus. We need a better story around loading dynamic libraries...

This also broke the xeus-r kernel, none of the R shared libraries were being loaded.

@martinRenou
Copy link
Member Author

Yeah that's pretty bad, it should work now though @IsabelParedes

@jtpio
Copy link
Member

jtpio commented Aug 29, 2025

Nice, thanks all for working on this and fixing the issue!

I'll do a quick smoke test before merging, but otherwise we probably need to fix #70 some time soon to catch such issues more easily.

@jtpio
Copy link
Member

jtpio commented Aug 29, 2025

Spotted a few errors:

image image

@martinRenou
Copy link
Member Author

I've been shy and didn't revert the full changes from the PR jupyterlite/xeus#266

I'll debug more, but will probably revert it all the way.

Those UI-tests should be at the jupyterlite-xeus level probably.

@jtpio
Copy link
Member

jtpio commented Aug 29, 2025

Those UI-tests should be at the jupyterlite-xeus level probably.

Yes probably better there indeed 👍

I was thinking otherwise that the UI tests could just try to open all the notebooks, execute all of the cells for each notebook, wait for them to complete, and check that there is no error anywhere in the notebooks. Then it could assume that everything is (hopefully) working fine if that's the case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants