theislab / zellkonverter

Conversion between scRNA-seq objects
https://theislab.github.io/zellkonverter/
Other
144 stars 27 forks source link

ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found #94

Closed jenellewallace closed 1 year ago

jenellewallace commented 1 year ago

Hello, I'm getting the following error when running this code on a compute cluster:

file = "//wynton/home/pollen/jwallace/Dreamlet/Kfoury_CancerCell_2021.h5ad" sce = readH5AD(file, use_hdf5=TRUE)
Error: ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /wynton/home/pollen/jwallace/.cache/R/basilisk/1.10.2/zellkonverter/1.8.0/zellkonverterAnnDataEnv-0.8.0/lib/python3.8/site-packages/pandas/_libs/window/aggregations.cpython-38-x86_64-linux-gnu.so)

I can see that the file "libstdc++.so.6" is in the folder: /wynton/home/pollen/jwallace/envs/r-reticulate/lib/ so I'm wondering if the problem is that I need to somehow specify where this file is - can someone help me figure out how to do that? Thanks!

lazappi commented 1 year ago

Hi

These kinds of issues are often very system specific so I'm not sure how much help I can be unfortunately but I have a few suggestions. {zellkonverter} creates a special Python environment which should contain everything it needs. It's possible this wasn't created correctly so you could try deleting /wynton/home/pollen/jwallace/.cache/R/basilisk/1.10.2/zellkonverter/1.8.0/zellkonverterAnnDataEnv-0.8.0/ to force it to be installed again. The other thing I can think of is that somehow there is a mismatch between what libraries are found when the environment is created versus what are found when you run the function. This can be tricky to identify and fix. Do you happen to be using a version of R installed using conda? That can make things more difficult as well.

lazappi commented 1 year ago

I am going to close this issue but please comment if there is any follow up.

Japrin commented 9 months ago

I encounter the same error. A simple workaround is to set the LD_LIBRARY_PATH environment variable in the R script/session before running the readH5AD():

old.ld_library_path <- Sys.getenv("LD_LIBRARY_PATH") Sys.setenv(LD_LIBRARY_PATH=sprintf("/wynton/home/pollen/jwallace/.cache/R/basilisk/1.10.2/zellkonverter/1.8.0/zellkonverterAnnDataEnv-0.8.0/lib:%s",old.ld_library_path))