linux 上的 Dart 抛出错误:GLIBC_2.14 GLIBC_2.15 not found

2024-01-21

我在 Google Compute Engine 上运行 Debian 7.2(尽管我怀疑 Centos、Red Hat 和 Amazon Linux AMI 都有同样的问题)。从 下载 64 位 Linux 版本的 Dart SDK 后这一页 https://www.dartlang.org/tools/download.html,我运行的任何 dart 命令,例如,dart --version,将输出以下错误:

./editor/dart/dart-sdk/bin/dart: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by ./editor/dart/dart-sdk/bin/dart)
./editor/dart/dart-sdk/bin/dart: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by ./editor/dart/dart-sdk/bin/dart)

更新:2014 年 10 月:Dart 现在可以使用 apt-get 安装在 Debian 上:

指令总结自飞镖网站 https://www.dartlang.org/tools/debian.html:

# Enable HTTPS for apt.
sudo apt-get update
sudo apt-get install apt-transport-https

# Get the Google Linux package signing key.
sudo sh -c 'curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -'

# Set up the location of the stable repository.
sudo sh -c 'curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list'
sudo apt-get update

# Finally, install the dart package!
sudo apt-get install dart

自行构建二进制文件的说明:

此问题似乎是由 Google 针对 GLIBC 的边缘版本(>= 2.15)进行编译引起的,除了 Ubuntu 12(Precise Pangolin)之外的 Linux 上通常不支持该版本。

首先,不要尝试下载 GLIBC 或 EGLIBC 的实验版本。我能够使用这种方法让 dart 工作,但是我的机器的其余部分崩溃了。更新 GLIBC 会导致疯狂。

相反,最好的解决方案是从源代码构建 dart。尽管二进制文件有 GLIBC 版本要求,但源代码本身没有这样的要求。有 wiki 页面用于从源代码安装debian https://code.google.com/p/dart/wiki/BuildingOnDebian, centos/fedora/红帽/亚马逊 https://code.google.com/p/dart/wiki/BuildingOnCentOS, ubuntu https://code.google.com/p/dart/wiki/BuildDartSDKOnUbuntu10_04, and 其他Linux版本 https://code.google.com/p/dart/wiki/Building.

以下是这些步骤的概述,我可以确认这些步骤适用于 Debian 7.2。 centos/fedora/redhat 的步骤似乎是相同的,只是它们使用 yum 而不是 apt-get。

  1. 安装 subversion 和所需的构建工具:

    sudo apt-get -y update
    sudo apt-get -y install subversion
    sudo apt-get -y install make
    sudo apt-get -y install g++
    sudo apt-get -y install openjdk-6-jdk
    
  2. 查看 google 的 depot 工具并将 gclient 添加到您的路径中

    svn co http://src.chromium.org/svn/trunk/tools/depot_tools
    export PATH=$PATH:`pwd`/depot_tools
    
  3. 在所需的分支下载 dart 源代码。

    • 将 1.2 替换为您想要构建的任何分支。您可以看到可用版本的列表here http://dart.googlecode.com/svn/branches/。一般来说,最新编号的分支是最好的。

      gclient config http://dart.googlecode.com/svn/branches/1.2/deps/all.deps
      gclient sync
      gclient runhooks
      
  4. 移动到新的 dart 目录

    cd dart
    
  5. 仅执行以下 A 或 B:

    • 注意:对于 32 位,请使用--arch=ia32代替标志。

    • A.构建整个Dart SDK,包括pub、dart2js、dart等:

      tools/build.py --mode=release --arch=x64 create_sdk
      
    • B.仅构建 dart 可执行文件:

      tools/build.py --mode=release --arch=x64 runtime
      
  6. dart 可执行文件现在位于 out/ReleaseX64/dart 或 out/ReleaseX64/dart-sdk/bin/dart 您可以通过打印版本来进行冒烟测试

    dart/out/ReleaseX64/dart --version
    

    输出应该是这样的Dart VM version: 1.2.0 (Mon Mar 3 03:06:20 2014) on "linux_x64".

如何帮助解决此问题

这比需要的要痛苦得多,因为二进制文件显然不需要使用 GLIBC >= 2.15 来构建。如果您希望引起人们对这个问题的关注,请加注星标这个飞镖虫。 https://code.google.com/p/dart/issues/detail?id=11880

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux 上的 Dart 抛出错误:GLIBC_2.14 GLIBC_2.15 not found 的相关文章

  • 进程如何知道它已收到信号

    如果我错了 请纠正我 以下是我对信号的理解 据我所知 信号生成 和信号传递有2个不同 事物 为了产生信号 操作系统只是在位数组中设置一个位 在过程控制中维护 工艺块 PCB 每一位 对应于特定信号 当设置一个位时 这意味着 该位对应的信号为
  • 使用 Vala 和 GLib 的正则表达式

    有没有一个函数 比如http php net manual en function preg match all php http php net manual en function preg match all php 使用 GLibh
  • 删除 Python 中某些操作的 root 权限

    在我的 Python 脚本中 我执行了一些需要 root 权限的操作 我还创建并写入文件 我不想由 root 独占所有 而是由运行我的脚本的用户独占所有 通常 我使用以下命令运行脚本sudo 有办法做到上述吗 您可以使用以下方式在 uid
  • X 按键/释放事件捕获,与焦点窗口无关

    我想记录所有传入的按键事件 无论哪个窗口处于焦点状态或指针位于何处 我编写了一个示例代码 它应该捕获当前焦点窗口的按键事件 include
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你
  • 在Linux中创建可执行文件

    我计划做的一件事是编写 非常简单的 Perl 脚本 并且我希望能够在不从终端显式调用 Perl 的情况下运行它们 我明白 要做到这一点 我需要授予他们执行权限 使用 chmod 执行此操作非常简单 但它似乎也是一个稍微费力的额外步骤 我想要
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015
  • 即使使用 rvm pkg install zlib 后也无法加载此类文件 -- zlib

    我使用 rvm 安装了 zlib 包和 ruby 1 9 3 但是每当我尝试安装时 它说宝石cannot load such file zlib 我用来安装的命令是 rvm install 1 9 3 rvm pkg install zli
  • 期待、互动,然后再次期待

    有几篇关于相同内容的帖子 但我仍然无法使我的期望脚本正常工作 我的目的是自动化一切 但保留用户输入的密码 所以脚本有 3 个部分 自动登录 给予用户交互以输入密码 将控制权交还给 Expect 脚本以继续工作 所以我有一个将生成的脚本 其中
  • C# - OPC-UA 服务器应用程序尚未在 Linux 计算机中创建 PKI 证书

    当我跑步时OPC UA serverWindows 机器中的 C 应用程序 然后 OPC UA 服务器已创建证书路径C ProgramData OPC Foundation pki own 并在此路径中生成一些证书 但是当我在中安装 OPC
  • 在Linux中将日期附加到文件名

    我想在文件名旁边添加日期 somefile txt 例如 somefile 25 11 2009 txt 或 somefile 25Nov2009 txt 或任何类似的内容 也许脚本或终端窗口中的某些命令可以执行 我正在使用Linux Ub
  • VSCODE 在 Linux 上不适用于我

    刚刚了解 VSCODE 很高兴尝试一下 我下载 解压并运行可执行文件 我得到 Code 2183 0429 201254 ERROR browser main loop cc 170 Running without the SUID san
  • 如何获取 bash 中从 Ping 接收到的数据包的百分比?

    当 ping 主机时 我希望输出仅显示收到的数据包 已发送 5 个 的百分比 我想我需要使用grep不知怎的 但我不知道如何 我是 bash 编程的新手 这是我所在的地方 ping c 5 q host grep grep 中应该包含什么
  • 在哪里可以找到所有 C 标准库的源代码?

    我正在寻找所有 C 标准库的完整源代码 也就是说 我正在寻找 stdio h stdlib h string h math h 等的源代码 我想看看它们是如何创建的 我认为这取决于不同的平台 但 Linux 或 Windows 都会受到欢迎
  • 如何在 Linux 中显示进程状态(阻塞、非阻塞)

    有没有办法查询 Linux 进程表中进程的状态 以便能够演示执行查询时进程是正在运行还是被阻止 我的目标是从进程或程序的 外部 执行此操作 因为我希望从操作系统进程的角度来理解这一点 但欢迎任何想法 这是Python代码阻塞的过程 impo
  • 如何在 Flutter Web 应用程序中保存和下载文本文件

    我是 Flutter 新手 正在使用 Flutter Web 应用程序 我的要求是创建和下载文本文件 像下面这样 void getData List
  • 如何检测flutter网站是否在浏览器后台运行?

    WidgetsBindingObserver 不适用于我的 flutter web 项目 是否有类似的东西可以检测用户何时关闭浏览器 例如使用 widgetbinding 关闭本机设备应用程序 我想在每次重建浏览器后重建整个网站 无论网站之
  • 如何从cloud firestore获取数据,其中user.uid等于flutter中的文档id?

    我有一个显示用户信息的个人资料屏幕 用户经过身份验证后 我将数据存储在云 Firestore 中 文档 ID 等于用户 ID 现在 我想从 cloud firestore 检索数据 当前 userId 等于文档 id 现在我有这个 clas
  • Tk 初始化失败:无显示名称且无 $DISPLAY 环境变量

    我试图从 Ubuntu 终端调用 Centos 服务器上的工具 我收到以下错误 Tk 初始化失败 没有显示名称 也没有 DISPLAY 环境变量 请帮我解决这个问题 提前致谢 连接到你的 CentOS 机器ssh Y其中 每man ssh
  • 无法使用 tar -cvpzf 解压完整目录

    把我的头敲在这上面 I used tar cvpzf file tar gz压缩一个完整的目录 我将文件移动到另一台服务器 并尝试解压缩复制存档的目录 无法使其发挥作用 bash 3 2 tar xvpzf news tar gz tar

随机推荐