我在Google Compute Engine上运行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)
Run Code Online (Sandbox Code Playgroud)
更新:2014年10月:现在可以使用apt-get在Debian上安装Dart:
# 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
Run Code Online (Sandbox Code Playgroud)
自己构建二进制文件的说明:
此问题似乎是由Google针对边缘版本的GLIBC(> = 2.15)进行编译引起的,这在Linux Ubuntu 12(Precise Pangolin)之外通常不受支持.
首先,不要尝试下载GLIBC或EGLIBC的实验版本.我能够使用这种方法让飞镖工作,但我机器的其余部分崩溃了.更新GLIBC是疯狂的秘诀.
相反,最好的解决方案是从源头构建飞镖.尽管二进制的GLIBC版本要求,源本身没有这样的要求.有来自debian,centos/fedora/red hat/amazon,ubuntu和其他linux版本的源码安装的维基页面.
以下是对这些步骤的概述,我可以在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
Run Code Online (Sandbox Code Playgroud)查看谷歌的软件仓库工具,并将gclient添加到您的路径中
svn co http://src.chromium.org/svn/trunk/tools/depot_tools
export PATH=$PATH:`pwd`/depot_tools
Run Code Online (Sandbox Code Playgroud)在所需的分支下载dart源.
将1.2替换为您要构建的任何分支.您可以在此处查看可用版本列表.一般来说,最新编号的分支是最好的.
gclient config http://dart.googlecode.com/svn/branches/1.2/deps/all.deps
gclient sync
gclient runhooks
Run Code Online (Sandbox Code Playgroud)进入新的dart目录
cd dart
Run Code Online (Sandbox Code Playgroud)只做下面的A或B:
注意:对于32位,请改用--arch=ia32标志.
A.构建整个Dart SDK,包括pub,dart2js,dart等:
tools/build.py --mode=release --arch=x64 create_sdk
Run Code Online (Sandbox Code Playgroud)B.只构建dart可执行文件:
tools/build.py --mode=release --arch=x64 runtime
Run Code Online (Sandbox Code Playgroud)dart可执行文件现在处于out/ReleaseX64/dart或out/ReleaseX64/dart-sdk/bin/dart你可以通过打印版本进行冒烟测试
dart/out/ReleaseX64/dart --version
Run Code Online (Sandbox Code Playgroud)
输出应该是这样的Dart VM version: 1.2.0 (Mon Mar 3 03:06:20 2014) on "linux_x64".
这比它需要的更痛苦,因为二进制显然不需要使用GLIBC> = 2.15构建.如果你想提请注意这个问题,请为这个dart bug加注星标.
| 归档时间: |
|
| 查看次数: |
2197 次 |
| 最近记录: |