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

Runtime error: `GLIBC_2.18' not found #530

Closed
melody-rain opened this issue Apr 19, 2022 · 6 comments
Closed

Runtime error: `GLIBC_2.18' not found #530

melody-rain opened this issue Apr 19, 2022 · 6 comments

Comments

@melody-rain
Copy link

I got this error:
/lib64/libc.so.6: version `GLIBC_2.18' not found (required by python3.6/site-packages/underthesea_core.cpython-36m-x86_64-linux-gnu.so)

Any solutions?
My OS is Centos 7 and GLIBC_2.17 is valid on my OS. Upgrading to GLIBC_2.18 is not valid.

@rain1024 rain1024 changed the title Runtime error Runtime error: `GLIBC_2.18' not found Apr 20, 2022
@Gooklim
Copy link

Gooklim commented Jun 20, 2022

Hi, I think you can try to install python-crfsuite==0.9.6, it worked fine for me.

@melody-rain
Copy link
Author

Hi, I think you can try to install python-crfsuite==0.9.6, it worked fine for me.

@Gooklim Hi. I've tried but I am afraid it does not work. The same error happens. And I don't think the problem has relation with python-crfsuite.

@Gooklim
Copy link

Gooklim commented Jun 23, 2022

Hi, rain, I am sorry I was not clear that I am actually using python-crfsuite==0.9.6 with underthesea==1.2.0, without underthesea_core dependency.
And, the reason I told you to use that version of python-crfsuite is that I assumed the only thing related to GLIBC in the package is CRF module. maybe I was wrong. sorry for that.
Hope it will go well this time :)

@melody-rain
Copy link
Author

melody-rain commented Jun 23, 2022 via email

@rain1024
Copy link
Contributor

rain1024 commented Aug 12, 2022

Today, I face a similar issue. I update version underthesea 1.3.5a2. It works very well in my system (Ubuntu 20.04, python 3.7). However, when I install run this library in google colab.

! pip install underthesea==1.3.5a2
import underthesea


ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /usr/local/lib/python3.7/dist-packages/underthesea_core.cpython-37m-x86_64-linux-gnu.so)
NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.

To view examples of installing some common dependencies, click the
"Open Examples" button below.

This error may cause by glibc library. The error tell us underthesea_core requires GLIBC_2.28, but the detect glibc is older.

I run this command in google colab

! ldd --version

ldd (Ubuntu GLIBC 2.27-3ubuntu1.5) 2.27
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

and in my system (macOS Monterey 12.4)

! ldd --version

ldd (Ubuntu GLIBC 2.31-0ubuntu9.7) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

So I think underthesea_core must support ldd version 2.17. I will invest this issue more.

Update 1: I found this article describe exactly what I think https://kobzol.github.io/rust/ci/2021/05/07/building-rust-binaries-in-ci-that-work-with-older-glibc.html. Very promissing

Update 2: Here are default ldd versions by environments

OS ldd version
Colab 2022/08/12 2.27
ubuntu 20.04 2.31
ubuntu 18.04 2.27
ubuntu 16.04 2.23
ubuntu 14.04 2.19
ubuntu 12.04 2.15
CentOS 7 2.17
CentOS 6 2.12
quay.io/pypa/manylinux2014_x86_64 2.17
quay.io/pypa/manylinux2010_x86_64 2.5

Update 3: After a whole day invest to use quay.io/pypa/manylinux2014_x86_64, I decide to build my own docker image for building rust (which is very import thing for underthesea to support different os/python environment). I called it build_rust. Then I pushed this image to github registry ghcr.io. I don't know if I will success or not, but it has a lot of funs (and tired). Let's how far can I go.

@rain1024
Copy link
Contributor

@melody-rain @Gooklim I'm very happy to announce that underthesea version 1.3.5a3 is now suport glibc 2.17 (centos 7).

Please give it a try and let me know if It works.

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