Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GLIBC ERROR #461

Open
sanyalab opened this issue Jun 24, 2021 · 4 comments
Open

GLIBC ERROR #461

sanyalab opened this issue Jun 24, 2021 · 4 comments

Comments

@sanyalab
Copy link

Hello,

My conda environment is as follows

active environment : ClusterEnv
active env location : /mnt/common/rh6/annotate/Anaconda3/envs/ClusterEnv
shell level : 2
user config file : /home/sanyalab/.condarc
populated config files : /home/sanyalab/.condarc
conda version : 4.10.1
conda-build version : 3.18.9
python version : 3.7.4.final.0
virtual packages : __linux=2.6.32=0
__glibc=2.12=0
__unix=0=0
__archspec=1=x86_64
base environment : /mnt/common/rh6/annotate/Anaconda3 (writable)
conda av data dir : /mnt/common/rh6/annotate/Anaconda3/etc/conda
conda av metadata url : https://repo.anaconda.com/pkgs/main
channel URLs : https://conda.anaconda.org/bioconda/linux-64
https://conda.anaconda.org/bioconda/noarch
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /mnt/common/rh6/annotate/Anaconda3/pkgs
/home/sanyalab/.conda/pkgs
envs directories : /mnt/common/rh6/annotate/Anaconda3/envs
/home/sanyalab/.conda/envs
platform : linux-64
user-agent : conda/4.10.1 requests/2.22.0 CPython/3.7.4 Linux/2.6.32-696.30.1.el6.x86_64 rhel/6.9 glibc/2.12
UID:GID : 101430:237
netrc file : None
offline mode : False

MMseqs installs ok (I think). However, I get a GLIBC error when running mmseqs --help like below

mmseqs: /lib64/libc.so.6: version GLIBC_2.16 not found (required by /mnt/common/rh6/annotate/Anaconda3/envs/ClusterEnv/bin/../lib/libstdc++.so.6)
mmseqs: /lib64/libc.so.6: version GLIBC_2.17 not found (required by /mnt/common/rh6/annotate/Anaconda3/envs/ClusterEnv/bin/../lib/libstdc++.so.6)
mmseqs: /lib64/libc.so.6: version GLIBC_2.16 not found (required by /mnt/common/rh6/annotate/Anaconda3/envs/ClusterEnv/bin/../lib/libgomp.so.1)
mmseqs: /lib64/libc.so.6: version GLIBC_2.17 not found (required by /mnt/common/rh6/annotate/Anaconda3/envs/ClusterEnv/bin/../lib/libgomp.so.1)

Please advice what to do.

Thanks
Abhijit

@milot-mirdita
Copy link
Member

Your kernel/libc versions are very old. I am surprised that conda runs at all. These error messages are thrown by MMseqs2 dependencies that are provided by conda-forge (libgomp/libstdc++), they require a newer glibc.

If you compile MMseqs2 on your own from source it might still work, no guarantees though.

@milot-mirdita
Copy link
Member

Maybe it works if you explicitly also add the conda-forge channel:

conda install -c conda-forge -c bioconda mmseqs2

@mbargull
Copy link

Hi @milot-mirdita, @sanyalab,

Maybe it works if you explicitly also add the conda-forge channel:

conda install -c conda-forge -c bioconda mmseqs2

Yes, this is exactly what is needed. Ideally, one would have the channel configuration set as described in https://bioconda.github.io/user/install.html#set-up-channels.

Your kernel/libc versions are very old. I am surprised that conda runs at all.

We (Bioconda and conda-forge) currently support CentOS 6 (i.e., glibc 2.12, Linux 2.6.32 (w/ RHEL patches)) as the oldest supported system. We'll move to CentOS 7 in the future, but had/needed to delay that move because some of our users still use CentOS/RHEL 6. Due to the CentOS 8 Linux <> CentOS 8 Stream debacle this move has been delayed further.
(Read: At some point, maybe in half a year or so (no date set yet), Bioconda/conda-forge may build packages that would require you, @sanyalab, to run on an updated system.)

These error messages are thrown by MMseqs2 dependencies that are provided by conda-forge (libgomp/libstdc++), they require a newer glibc.

The libstdc++/libgomp didn't come from conda-forge but most likely from defaults/pkgs/main which have packages provided by Anaconda. Anaconda started to compile against CentOS 7 (i.e., glibc 2.17) at some point (but in the meantime they also noticed customers still rely on CentOS 6). In any case, using -c conda-forge -c bioconda (or having those two in the Conda configuration beforehand) will yield glibc 2.12 compatible libstdc++/libgomp from conda-forge.


Overall, this isn't and upstream MMseqs2 issue but purely downstream and can be remedied by using the Conda channel order recommended in the Bioconda docs.

Cheers,
Marcel

@milot-mirdita
Copy link
Member

Thanks for the clarification @mbargull!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants