Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linux上的飞镖投掷错误:未找到GLIBC_2.14 GLIBC_2.15_Linux_Dart - Fatal编程技术网

linux上的飞镖投掷错误:未找到GLIBC_2.14 GLIBC_2.15

linux上的飞镖投掷错误:未找到GLIBC_2.14 GLIBC_2.15,linux,dart,Linux,Dart,我在谷歌计算引擎上运行Debian 7.2(尽管我怀疑Centos、Red Hat和Amazon Linux AMI都有同样的问题)。从下载64位Linux版本的Dart SDK后,我运行的任何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/

我在谷歌计算引擎上运行Debian 7.2(尽管我怀疑Centos、Red Hat和Amazon Linux AMI都有同样的问题)。从下载64位Linux版本的Dart SDK后,我运行的任何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上:

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
说明摘要如下:

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

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
这个问题似乎是由谷歌针对GLIBC(>=2.15)的边缘版本进行编译造成的,该版本在Ubuntu12(精确的穿山甲)之外的Linux上通常不受支持

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

相反,最好的解决方案是从源代码构建dart。尽管二进制文件有GLIBC版本的要求,但是源代码本身没有这样的要求。在、和上有用于从源安装的wiki页面

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

  • 安装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
    
  • 查看google的depot tools并将gclient添加到您的路径中

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

    • 用您希望构建的分支替换1.2。您可以看到可用版本的列表。一般来说,最新编号的分支是最好的

      gclient config http://dart.googlecode.com/svn/branches/1.2/deps/all.deps
      gclient sync
      gclient runhooks
      
  • 进入新的dart目录

    cd dart
    
  • 只做下面的A或B:

    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
    
    • 注意:对于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
      
  • dart可执行文件现在位于out/ReleaseX64/dart或out/ReleaseX64/dart sdk/bin/dart。您可以通过打印版本进行冒烟测试。

    dart/out/ReleaseX64/dart --version
    
    输出应该类似于“linux_x64”上的Dart VM版本:1.2.0(2014年3月3日星期一03:06:20)

  • 如何帮助解决此问题
    这比需要的痛苦得多,因为二进制文件显然不需要使用GLIBC>=2.15构建。如果您想引起大家对这个问题的注意,请开始

    听起来好像有计划为Dart提供Debian软件包。看这个。他们可能会将其后推到7.2。这将是理想的解决方案。