在 Ubuntu 上安装 Emscripten

Posted

技术标签:

【中文标题】在 Ubuntu 上安装 Emscripten【英文标题】:Installing Emscripten on Ubuntu 【发布时间】:2013-02-15 20:05:56 【问题描述】:

我正在尝试,但the official installation guide for Emscripten 没有提供在 Linux 上安装 Emscripten 的任何说明。安装指南必须提供的唯一建议是:

If you are on Linux, things should be very simple for you and there is no need for any additional guide.

我也阅读了 Emscripten 存储库中的 README.md 文件,它也没有为 Ubuntu 提供任何说明。为了在 Ubuntu 上设置 Emscripten,我需要遵循哪些步骤?

【问题讨论】:

我需要编译 Emscripten 存储库中的任何源代码才能使用它,还是以某种方式预编译? 在安装了 Emscripten 的所有依赖项后,我只是在 Emscripten 存储库文件夹中运行了 ./emcc,这似乎有效。似乎不需要额外的安装步骤(如果我错了,请纠正我。) 我仍然不确定我应该如何在 Ubuntu 上安装 LLVM 和 Clang - 本教程没有提供有关此的任何详细信息。 这是一个链接,提供了在 Ubuntu 12.10 上安装 Emscripten 的详细步骤,github.com/kripken/emscripten/wiki/… 【参考方案1】:

对于 Ubuntu 12.04,这也很容易。

    转到 http://llvm.org/releases/download.html 并下载 LLVM 3.2(适用于 Ubuntu-12.04/x86 的 Clang 二进制文件)LLVM 已集成 将其解压缩到您喜欢的位置,例如。 ~/opt/dev/llvm 将此添加到您的 .profile PATH="$PATH:/home/[your_profile]/opt/dev/llvm/clang3.2/bin" 确保已安装 nodejs 按照 emscripten 安装说明进行操作

就是这样

如果你得到/usr/include/features.h:324:10: fatal error: 'bits/predefs.h' file not found 只需安装sudo apt-get install libc6-dev-i386

【讨论】:

这就是你所说的简单? ;) 是吗?还有什么比一条线下载和配置更容易的呢?你期待我的安装脚本吗?如果你不能遵循简单的 4 步,为什么要使用像 emscripten 这样复杂的东西? @dustin.b “确保你安装了 nodejs”:为什么它需要 NodeJS? Acutally 为 LLVM 3.4.2 预先构建的 Ubuntu 二进制文件仅适用于 64 位机器,没有适用于 32 位机器(我希望这并不意味着 Ubuntu 32 位平台上的 LLVM 存在问题)。 LLVM 3.4 仍然带有 32 位二进制文​​件。【参考方案2】:

clang 3.2 我假设您正在运行 Ubuntu 12.1013.04 已经打包了 clang 3.2,所以我建议使用这些包。

有两种获取方式:

    安装/升级 Ubuntu 13.04 的选定软件包(轻微侵入性)

    deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse 添加到您的来源。 更新您的包裹信息(例如sudo apt-get update) 仅安装所需的包和依赖项(例如sudo apt-get install clang-3.2) 禁用之前添加的源条目。

    将 Ubuntu 升级/安装到 13.04+

编辑:

更新到当前情况。

【讨论】:

我需要单独安装 LLVM 和 Clang 吗?如果是这样,我需要安装哪个版本的 LLVM? 安装clang会自动安装对应的llvm。 @NoBugs 我说的是 13.04 prelease,这是错误的。 13.04 发布 没问题。 clang 3.3 和 3.4 在存储库中也可用。使用最新的clang会更好,还是坚持使用3.2 for emscripten? @Bram Emscripten 目前仅适用于 3.2。我们希望下个月支持 3.4。【参考方案3】:

Emscripten 是一个复杂的软件工具系统,支持多种平台。与此类系统的典型情况一样,入门说明可能有点晦涩难懂。第一个悲伤的消息是just installing emscripten from the Ubuntu repos probably isn't your best bet,至少现在是这样。

通过下载 Portable Emscripten SDK for Linux and OS X 并从包含的 README.md 文件中执行以下步骤,我得到了我需要的大部分内容:

运行 ./emsdk update。这将获取可用工具的最新注册表。 运行./emsdk install latest。这将下载并安装最新的 SDK 工具。 运行./emsdk activate latest。这会将 ~/.emscripten 设置为指向 SDK。

请注意,初始下载很小,但运行上述步骤需要一段时间(大约一个小时,但可能取决于 Internet 速度)并使用大约 13G 的磁盘空间。

我发现我还需要安装(在 Ubuntu 14.04 LTS 上):

apt-get install nodejs-legacy

可能还需要其他依赖项,希望可以根据您看到的错误消息轻松追踪。

下面是一个简单的示例,说明如何构建和运行 C++ 程序:

emsdk_portable/emscripten/tag-1.34.8/em++ hello.cpp -o temp.html
chromium-browser --new-window temp.html

【讨论】:

我采取了间接途径来安装它,它包括首先运行apt-get install emscripten这可能引入了我本来必须单独安装的依赖项。在我使用 emsdk 构建并注意到包位置有点混乱之后,我使用 synaptic 删除了似乎不依赖于我正在使用的其他任何东西的 clang 和 llvm 组件。

以上是关于在 Ubuntu 上安装 Emscripten的主要内容,如果未能解决你的问题,请参考以下文章

如何在Ubuntu上安装Snort入侵检测系统

怎样在Ubuntu16.04上安装GTK+

如何在Ubuntu 14.04上安装Wine

如何在ubuntu上安装gnome

如何在vmware上安装ubuntu

如何在ubuntu上安装gnome