ContextLab/hypertools

Inconsistency detected by ld.so

jjstrydom opened this issue · 5 comments

When doing a clean install of just hypertools and sklearn and running the following code example:

from sklearn import datasets
import hypertools as hyp

digits = datasets.load_digits(n_class=6)
data = digits.data
hue = digits.target.astype('str')

hyp.plot(data, '.', reduce='UMAP', hue=hue, ndims=2)

I get the error:

Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion `needed != NULL' failed!

I tested this on ubuntu 18.04 on two separate machines, and in a ubuntu 16.04 docker container. On windows it worked fine. All were tested with Python 3.6.

This seems to be a problem with UMAP, and more specifically the numba package. My numba package version was 0.4, when downgrading to 0.39 this solved the issue.

@jjstrydom thanks for the report! - Unfortunately, I can't address this directly since it's an issue with UMAP. We are moving towards making all non-essential packages optional installs, which will help to make hypertools more reliable and maintainable. Looping in @lmcinnes here in case he's come across this error

Can we require numba<=0.39?

Thanks @lmcinnes!! We'll check it out

closing as resolved by lmcinnes/umap#150. That issue reports the problem is fixed as of numba==0.43.1, we require umap-learn>=0.4.6, and umap-learn==0.4.6 requires numba>=0.46. So this issue will no longer present when using hypertools.

If anyone encounters this issue, try upgrading hypertools to v0.6.3 or later. If the issue persists, please feel free to reopen this.