talmolab / sleap

A deep learning framework for multi-animal pose tracking.
https://sleap.ai
Other
425 stars 97 forks source link

GLIBC_2.14 dependency #1916

Closed nachonacho2 closed 1 week ago

nachonacho2 commented 3 weeks ago

Bug description

Unable to use SLEAP (e.g. python -c "import sleap; sleap.versions()") on HPC due to dependency on GLIBC_2.14, specifically getting error: ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found

On a second attempt at installing, can not even install: The following package could not be installed └─ sleap 1.3.3* is not installable because it requires └─ cudnn 8.2.1. , which requires └─ __glibc >=2.17,<3.0.a0 , which is missing on the system.

Is it possible to loosen these requirements? We are unable to update GLIBC on this system.

Your personal set up

eberrigan commented 2 weeks ago

Hi @nachonacho2,

The SLEAP conda package has very specific requirements since these versions of cudnn, cuda-toolkit, cuda-nvcc, tensorflow, numpy and sleap have been tested to work correctly together alogrithmicaly and when interacting with the GPU. That does not mean there are not other versions of the cuda and NVIDIA dependencies that could work, but it is difficult to figure this out.

You can install the dependencies you need for your HPC and then install sleap using the PyPI package. Directions are here.

Best,

Elizabeth

eberrigan commented 2 weeks ago

It seems like miniforge3 needs glibc>=2.17 for Linux OS. I would try to update your HPC since this is an important piece of software for managing packages and environments (not just for sleap).

nachonacho2 commented 2 weeks ago

Thanks Elizabeth! Unfortunately the decision whether to update the HPC is out of my hands. I'm sure other researchers will run into similar problems soon enough. I've requested the system be updated but I think I'm stuck until it happens.

nachonacho2 commented 1 week ago

Just to update, we managed to work around the glibc issue by loading an updated module. Unfortunately, we then ran into the problem that SLEAP uses CUDA 11, which doesn't work on CentOS6. I'll just revert to using colab for this project for now.