inducer / pyopencl

OpenCL integration for Python, plus shiny features
http://mathema.tician.de/software/pyopencl
Other
1.05k stars 240 forks source link

Issue with pyopencl in github CI #567

Closed haesleinhuepf closed 2 years ago

haesleinhuepf commented 2 years ago

Describe the bug Hi all,

I'm receiving error messages in github CI when using pyopencl. The test ran until recently and fail now. In very short the error is:

E   ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /usr/share/miniconda/envs/test/lib/python3.8/site-packages/pyopencl/_cl.cpython-38-x86_64-linux-gnu.so)

details

I presume it's no longer installing correctly in the github CI

To Reproduce Not sure how to reproduce this...

Expected behavior A clear and concise description of what you expected to happen.

Environment (please complete the following information): See github CI log: https://github.com/haesleinhuepf/apoc/runs/6638952189?check_suite_focus=true#step:10:49

Additional context If you think the issue is on our side, please let me know :-)

Thanks!

haesleinhuepf commented 2 years ago

I just tested and confirmed: Everything works fine with pyopencl=2022.1.3

https://github.com/haesleinhuepf/apoc/pull/24/files

Were there any breaking changes we downstream developers should take care of?

isuruf commented 2 years ago

Should be fixed now with the new conda package. Can you check?

haesleinhuepf commented 2 years ago

Hi @isuruf ,

thanks for the light speed reponse. Unfortunately, the error remains (see this build). I would have expected a version 2022.1.6 on conda, but the version there is still 2022.1.5.

Let me know if I can help tracing this down and thanks again!

isuruf commented 2 years ago

Can you run the test with export LD_DEBUG=libs?

haesleinhuepf commented 2 years ago

Where do I have to add this? (GitHub CI beginner here)

haesleinhuepf commented 2 years ago

The test passes with your change. What does this tell us? Should I always test like this? Just curious why this was not necessary with older pyopencls.

Thanks again!

isuruf commented 2 years ago

No, that's not necessary. The new pyopencl build wasn't synced yet when you ran the build, but it's now being picked up.

isuruf commented 2 years ago

nvm, my PR passed because you had pinned pyopencl to a previous version

isuruf commented 2 years ago

The issue here was that some of the dependencies were installed with pip and they loaded libstdc++.so from the system first and when pyopencl tried to load libstdc++.so from conda, the dynamic loader ignored that because the system one was already loaded. This worked before accidentally.

haesleinhuepf commented 2 years ago

Awesome, thanks so much for working on our stuff @isuruf !