【问题标题】:Error loading Python lib '/tmp/_MEItueAuk/libpython3.7m.so.1.0': dlopen: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found加载 Python 库“/tmp/_MEItueAuk/libpython3.7m.so.1.0”时出错:dlopen:/lib/x86_64-linux-gnu/libc.so.6:找不到版本“GLIBC_2.28”
【发布时间】:2020-04-16 09:04:00
【问题描述】:

我已经使用下面的命令安装了minidcos

curl --fail -L https://github.com/dcos/dcos-e2e/releases/download/2019.10.10.0/minidcos -o /usr/local/bin/minidcos && \
chmod +x /usr/local/bin/minidcos

当我在安装后尝试查找版本以检查一切是否正常时,我得到以下错误 -

    $ sudo minidcos --version
    [21667] Error loading Python lib '/tmp/_MEItueAuk/libpython3.7m.so.1.0': dlopen: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /tmp/_MEItueAuk/libpython3.7m.so.1.0)

我在所需路径中有 libc.so.6

        $ ls /lib/x86_64-linux-gnu/ | grep libc
        libc-2.23.so
        libcap.so.2
        libcap.so.2.24
        libcgmanager.so.0
        libcgmanager.so.0.0.0
        libcidn-2.23.so
        libcidn.so.1
        libcom_err.so.2
        libcom_err.so.2.1
        libcrypt-2.23.so
        libcrypto.so.1.0.0
        libcryptsetup.so.4
        libcryptsetup.so.4.6.0
        libcrypt.so.1
        libc.so.6

注意: 操作系统详情 -

    $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 16.04.6 LTS
    Release:        16.04
    Codename:       xenial

python 细节 -

$ python3 --version
Python 3.5.2

我该如何解决这个问题?

【问题讨论】:

    标签: python python-3.x dcos


    【解决方案1】:

    您可以通过两种方式解决此问题。首先,通过运行以下命令检查您的 GLIBC 版本:

    ldd --version
    

    您的 GLIBC 版本很可能低于 2.28。现在您可以升级操作系统,我会说尝试 Ubuntu 20.04 LTS,或者您可以降低 minidcos 版本。这里推荐使用2019.06.19.0,它是用低版本的GLIBC编译的。

    【讨论】:

    • 与 mitmproxy/mitmdump v7 有同样的问题。下降到 v6.0.2,它适用于 GLIBC 2.26。 :)
    【解决方案2】:

    问题来自我们的 Python 问题。官方镜像只提供 Debian Buster for 3.9 前者有 glibc 2.28 而 Ubuntu 18.04 只有 2.27。

    sudo curl -L "https://github.com/docker/compose/releases/download/1.27.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    sudo chmod +x /usr/local/bin/docker-compose
    

    【讨论】:

    • 我不知道这将如何解决我的问题?我的问题与 docker-compose 完全无关
    • 虽然此代码可能会解决问题,including an explanation 关于如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的回答添加解释并说明适用的限制和假设。
    • @RajkumarNatarajan 这个问题来自我们的 Python 问题。官方镜像仅提供 Debian Buster 3.9。前者有 glibc 2.28,而 Ubuntu 18.04 只有 2.27。问题在于 docker compose。请先试用。
    【解决方案3】:

    删除已安装的 docker-compose:

    如果你在 bash 终端:

    $ rm $(which docker-compose)
    

    或者在鱼码头:

    > rm (which docker-compose)
    

    转到 Docker Compose 的发布页面:

    https://github.com/docker/compose/releases

    下载源代码(我已下载列表底部的compose-2.2.3.tar.gz 文件)。提取其内容并进行自己的构建:

    cd $HOME/Downloads
    tar -xvf compose-2.2.3.tar.gz
    cd compose-2.2.3
    make
    

    编译过程的输出compose-2.2.3会被放到一个创建的目录bin中。您可以运行生成的文件来检查它是否正常工作:

    bin/docker-compose version
    

    我曾经从我的 $HOME/.local/bin 目录运行 docker-compose,所以我这样做了:

    mv bin/docker-compose $HOME/.local/bin/
    docker-compose version
    

    就是这样。

    【讨论】:

      猜你喜欢
      • 2023-01-17
      • 2023-02-23
      • 2012-11-27
      • 1970-01-01
      • 2022-12-10
      • 2019-07-04
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      相关资源
      最近更新 更多