OpenAstronomy / conda-channel

An open source community conda channel
8 stars 8 forks source link

GLIBC errors when importing healpy #8

Closed woodmd closed 8 years ago

woodmd commented 8 years ago

I've been experimenting with the healpy conda package but I'm encountering some problems when installing heapy on older Linux distributions -- specifically SL6 and RHEL6. When I try to import healpy I get an error about the version of glibc:

(fermi-env)[vagrant@sl65-minimal ~]$ python -c "import healpy"
/home/vagrant/miniconda/envs/fermi-env/lib/python2.7/site-packages/healpy/pixelfunc.py:105: UserWarning: Warning: cannot import _healpy_pixel_lib module
  warnings.warn('Warning: cannot import _healpy_pixel_lib module')
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/vagrant/miniconda/envs/fermi-env/lib/python2.7/site-packages/healpy/__init__.py", line 42, in <module>
    from .sphtfunc import (anafast, map2alm,
  File "/home/vagrant/miniconda/envs/fermi-env/lib/python2.7/site-packages/healpy/sphtfunc.py", line 31, in <module>
    from . import _healpy_sph_transform_lib as sphtlib
ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/vagrant/miniconda/envs/fermi-env/lib/python2.7/site-packages/healpy/_healpy_sph_transform_lib.so)

The problem seems to be that SL6/RHEL6 come with glibc 2.12 while the healpy conda package was compiled against glibc 2.14. Is there a workaround for this?

Cadair commented 8 years ago

We might have to take a leaf out of the conda-forge book and build on a different CI server.

woodmd commented 8 years ago

Are there are any plans to revisit this? I realize that RHEL6 is a pretty old distribution but many institutions still use it in their computing cluster environments (my own for instance). I presume that this issue will come up whenever you have compiled extensions so having a solution for this would generally be useful for packages beyond healpy and also going forward as CI services migrate to newer versions of Linux.

mwcraig commented 8 years ago

Are there are any plans to revisit this?

@woodmd -- yes.

TL;DR: will take at least a few days to get it set up, but the need is real and not unique to you.

I think the easiest fix (from our POV) is to get healply building on conda-forge, then copy that build to this channel. conda-forge already has the infrastructure set up for doing builds on older build machines. Adding that infrastructure to this repo (circle-ci with docker images) seems much more time consuming than simply using conda-forge and making the PR to the appropriate repo for allowing cross-channel package copying.

mwcraig commented 8 years ago

@woodmd -- can you please try this version of healpy and let me know either way if it works for you:

conda install -c conda-forge healpy

If it works, I'll copy that build into this channel (instead of us building it directly).

woodmd commented 8 years ago

Yes the conda-forge version works on both SL6 and RHEL6. Thanks!

Just out of curiosity if healpy is available through conda-forge what is the motivation for providing it through openastronomy as well? Would there be any difference between the versions I would get from the conda-forge vs. openastronomy channel?

mwcraig commented 8 years ago

At this point there isn't much motivation, unless openastronomy has other packages you need that are not in conda-forge yet.

As conda-forge continues to grow I see things like openastronomy the astropy channel as collections of related packages that are actually built in conda-forge (their infrastructure is really nice).

woodmd commented 8 years ago

Did you finish importing the conda-forge build into openastronomy? I just tried installing healpy from openastronomy but I'm still getting the GLIBC error.

mwcraig commented 8 years ago

Should get to it Sunday.

On Jun 11, 2016, 3:44 PM -0500, Matthew Woodnotifications@github.com, wrote:

Did you finish importing the conda-forge build into openastronomy? I just tried installing healpy from openastronomy but I'm getting the GLIBC error again.

— You are receiving this because you were assigned. Reply to this email directly,view it on GitHub(https://github.com/OpenAstronomy/conda-channel/issues/8#issuecomment-225393199), ormute the thread(https://github.com/notifications/unsubscribe/ABGBHzSW0_3gDdFOJdtOvxKnUHksjRhOks5qKx42gaJpZM4H_iuF).

mwcraig commented 8 years ago

@woodmd -- the correct packages should be available now (still haven't automated that, but that is a separate issue...).

I'm closing this, but if you run into a problem please do reopen, or open a separate issue.