Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG: libstdc++.so.6 linkage issue #253

Closed
MilesCranmer opened this issue Jun 4, 2023 · 7 comments
Closed

BUG: libstdc++.so.6 linkage issue #253

MilesCranmer opened this issue Jun 4, 2023 · 7 comments

Comments

@MilesCranmer
Copy link

All of my CI tests on Ubuntu + Conda seem to be failing with a library linkage issue:

Run python -m pysr.test main
ERROR: Unable to dlopen(cxxpath) in parent!
Message: /usr/share/miniconda3/envs/pysr-test/lib/python3.10/site-packages/scipy/sparse/../../../../libstdc++.so.6�E6W�: cannot open shared object file: No such file or directory
Error: Process completed with exit code 1.

Here is an example run: https://github.com/MilesCranmer/PySR/actions/runs/5171734252

I had initially thought this was a scipy issue from the pathname, but the error message actually looks to be from this line in the Julia source: https://github.com/JuliaLang/julia/blob/f407a4cac3d1c660d1f8f1a9b367eec108d98178/cli/loader_lib.c#L456, so now I'm not so sure.

A strange thing is that I have actually successfully run the unit tests on Julia 1.9 in the past: https://github.com/MilesCranmer/PySR/actions/runs/5163099602. It's only the past day where they started to break.

Here are the dependencies that changed from 2 days ago (working) to 1 day ago (broken across all Python versions):

<     libgfortran-ng-12.2.0      |      h69a702a_19          22 KB  conda-forge
>     libgfortran-ng-13.1.0      |       h69a702a_0          23 KB  conda-forge

<     libgfortran5-12.2.0        |      h337968e_19         1.8 MB  conda-forge
>     libgfortran5-13.1.0        |       h15d22d2_0         1.4 MB  conda-forge

<     libssh2-1.10.0             |       hf14f497_3         234 KB  conda-forge
>     libssh2-1.11.0             |       h0841786_0         265 KB  conda-forge

<     libstdcxx-ng-12.2.0        |      h46fd767_19         4.3 MB  conda-forge
>     libstdcxx-ng-13.1.0        |       hfd8a6a1_0         3.7 MB  conda-forge
@JacksonBurns
Copy link

We have also run into this issue over on RMG-Py, see here.

JacksonBurns added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Jun 6, 2023
as reported at conda-forge/julia-feedstock#253 the latest release of julia (1.9.0) is brokey, don't use it (put !=1.9.0 in the environment file)
@mkitti
Copy link
Contributor

mkitti commented Jun 6, 2023

Can someone generate a minimum working example (MWE)?

rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Jun 6, 2023
This is a combination of 12 commits, as we tried everything under the sun to debug the CI.
But they all cancelled out when merged (apart from fixing a typo in a comment)

- This is the 1st commit message:
CI: trying to force ubuntu-20.04 instead of ubuntu-latest (temporary)
While we figure out what's happening, let's try an older ubuntu.
- This is commit message #2:
fixup! CI: trying to force ubuntu-20.04 instead of ubuntu-latest (temporary)
- This is the commit message #3:
Switch back to ubuntu-latest
But leave a 20.04 in the matrix build
- This is the commit message #4:
Trying libstdcxx-ng < 13 in Conda environment.
Trying to debug. If this works it should be put in docker file too.
Or, better, the real cause found and fixed.
- This is the commit message #5:
fix typo in env, undo ubuntu os changes, set gcc version in CI to 6
this system object of this version is being provided by gcc, and the
runners no longer come prepackaged with it since its old (?)
- This is the commit message #6:
it wasn't the gcc version
- This is the commit message #7:
it was the julia version, 1.9.0 is brokey
as reported at conda-forge/julia-feedstock#253
the latest release of julia (1.9.0) is brokey, don't use it (put !=1.9.0 in the environment file)
- This is the commit message #8:
make mac and ubuntu use the same cxx library
- This is the commit message #9:
but what if it was rdkit all along?
- This is the commit message #10:
Revert "but what if it was rdkit all along?" because it wasn't
- This is the commit message #11:
Revert "make mac and ubuntu use the same cxx library" cos it didn't work
- This is the commit message #12:
Revert "it was the julia version, 1.9.0 is brokey" but it wasn't
@mkitti
Copy link
Contributor

mkitti commented Jun 6, 2023

Maybe we should try rebuilding Julia with USE_SYSTEM_CSL=1 ?

@MilesCranmer
Copy link
Author

Should I close it since we fixed the Conda.jl issue?

@JacksonBurns
Copy link

JacksonBurns commented Jun 21, 2023

This has been resolved for us with that change.

@MilesCranmer
Copy link
Author

MilesCranmer commented Jun 21, 2023

The Conda.jl fix you mean? Or limiting libstdcxx-ng<13?

@mkitti
Copy link
Contributor

mkitti commented Jun 21, 2023

Closing since JuliaPy/Conda.jl#241 resolves the issue.

@mkitti mkitti closed this as completed Jun 21, 2023
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

No branches or pull requests

3 participants