-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Hey folks — I’ve tracked down an error on systems using GLIBC_2.28 (shpc) with an error requiring GLIBC_2.29
in the crisprScore
call stack.
The issue comes from a binary in this Basilisk-managed environment:
/apps/rocs/cedar/2020.08/cascadelake/site-libs/R/cedar_r4.4_bioc3.20-release/2024_11_22/incremental/rlibs/crisprScore/basilisk/crisprai_basilisk/lib/python2.7/site-packages/pandas/_sparse.so
That _sparse.so
binary links against GLIBC_2.29
, which isn't available on our RHEL 8.6 systems (we’re on GLIBC_2.28
). This means the crisprScore
call fails at runtime anytime it touches the crisprai
scoring logic with Basilisk active.
Important: this is not a Cedar or LSF runtime bug — it’s a Conda ecosystem artifact. The .so
came from a precompiled pip/conda wheel, which was likely built on a newer system (e.g., Ubuntu 20.04+), and wasn’t rebuilt from source in our controlled GLIBC context.
Basilisk doesn’t override this by default, so unless explicitly told to compile from source, it will pull binaries that may be incompatible.
Thoughts regarding what’s acceptable upstream:
- We could try pinning
pandas==0.15.0
to a version that predates_sparse.so
if that's safe inbasilisk.R
. - Or, rebuild that environment from source with an older GLIBC toolchain, though that adds complexity to the Basilisk bootstrap.