Skip to content

Conversation

@martinRenou
Copy link
Member

No description provided.

@github-actions
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.

@martinRenou
Copy link
Member Author

I released jupyterlite-xeus 4.2.2. Most examples now work fine.

Screenshot From 2025-09-02 09-25-53

There is still the xtensor-blas error though, do you have any clue about this one @anutosh491 ? It does not look like a shared libs loading issue this time. It's like xtensor-blas was compiled with some missing variable or something?

Screenshot From 2025-09-02 09-26-48

@anutosh491
Copy link
Contributor

I know what the issue is. Fixing it soon !

@martinRenou
Copy link
Member Author

Thanks @anutosh491 ! Is there some xeus-cpp/xtensor-blas/cppinterop version combination I can use for this example to work?

@anutosh491
Copy link
Contributor

anutosh491 commented Sep 2, 2025

Any xeus-cpp + cppinterop + latest build for 0.22 on xtensor-blas should hopefully work 😬

@martinRenou
Copy link
Member Author

@anutosh491 that works! Thanks!

Screenshot From 2025-09-02 09-44-37

@martinRenou
Copy link
Member Author

@jtpio this PR should be ready!

@jtpio jtpio mentioned this pull request Nov 21, 2025
2 tasks
@jtpio jtpio closed this in #73 Nov 24, 2025
@jtpio
Copy link
Member

jtpio commented Nov 24, 2025

Added some UI tests in #73, and also manually checked the notebooks were executing fine with the latest jupyterlite-xeus.

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