Skip to content

Commit 3f51bac

Browse files
authored
Update docs about current installation issues (#6298) [ci skip]
* update docs regarding #6275 (github changes with SSL that force a newer python version) and #6288 (just mention the emsdk script itself from github, not the binary releases which we don't have a working solution for atm) * mention zip download from github, and update docs to reflect that binary packages are now available for linux, no need to build from source * mention Windows Subsystem for Linux
1 parent c0bc367 commit 3f51bac

2 files changed

Lines changed: 29 additions & 43 deletions

File tree

site/source/docs/building_from_source/toolchain_what_is_needed.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Emscripten tools and dependencies
2323
A complete Emscripten environment requires the following tools. First test to see if they are already installed using the :ref:`instructions below <toolchain-test-which-dependencies-are-installed>`. Then install any missing tools using the instructions in the appropriate platform-specific build topic (:ref:`building-emscripten-on-linux`, :ref:`building-emscripten-on-windows-from-source`, :ref:`building-emscripten-on-mac-osx-from-source`):
2424

2525
- :term:`Node.js` (0.8 or above; 0.10.17 or above to run websocket-using servers in node):
26-
- :term:`Python` 2.7 (2.7.12 or above preferred)
26+
- :term:`Python` 2.7.12 or above (Python 3.* may also work, work is ongoing)
2727
- :term:`Java` (1.6.0_31 or later). Java is optional. It is required to use the :term:`Closure Compiler` (in order to minify your code).
2828
- :term:`Git` client. Git is required if building tools from source.
2929
- :term:`Fastcomp` (Emscripten's fork of LLVM and Clang)

site/source/docs/getting_started/downloads.rst

Lines changed: 28 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -4,43 +4,28 @@
44
Download and install
55
====================
66

7-
**Emscripten SDK provides the whole Emscripten toolchain in a single package, with integrated support for** :ref:`updating to newer SDKs <updating-the-emscripten-sdk>` **as they are released.**
8-
97
.. tip:: If you are :ref:`contributing <contributing>` to Emscripten you should :ref:`build Emscripten from source <installing-from-source>`.
108

11-
12-
SDK Downloads
13-
=============
14-
15-
Download one of the SDK installers below to get started with Emscripten development.
16-
17-
.. emscripten-sdk-windows-installers:
18-
19-
Windows
20-
-------
21-
22-
- `64-bit Emscripten SDK for Windows <https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable-64bit.zip>`_ (emsdk-portable-64bit.zip)
23-
A zipped package of the SDK that does not require system installation privileges. Follow the instructions below to :ref:`install Emscripten SDK on Windows <sdk-installation-instructions>`.
24-
25-
Linux and Mac OS X
26-
------------------
27-
28-
.. _emscripten-sdk-linux-osx:
29-
30-
- `Emscripten SDK for Linux and OS X <https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz>`_ (emsdk-portable.tar.gz)
31-
A tar.gz archive package of the SDK that does not require system installation privileges. To install, follow the :ref:`platform-specific notes <platform-notes-installation_instructions-SDK>` and the :ref:`general instructions <sdk-installation-instructions>`.
32-
339
.. _sdk-installation-instructions:
3410

3511
Installation instructions
3612
=========================
3713

3814
First check the :ref:`Platform-specific notes <platform-notes-installation_instructions-SDK>` below and install any prerequisites.
3915

40-
Install or update the SDK using the following steps:
16+
The core Emscripten SDK (emsdk) driver is a Python script. You can get it for the first time with
17+
18+
::
19+
20+
# Get the emsdk repo
21+
git clone https://github.com/juj/emsdk.git
22+
23+
# Enter that directory
24+
cd emsdk
25+
26+
.. note:: You can also get the emsdk without git, by selecting "Clone or download => Download ZIP" on the `emsdk GitHub page <https://github.com/juj/emsdk>`_.
4127

42-
1. Download and unzip the SDK package to a directory of your choice. This directory will contain the Emscripten SDK.
43-
#. Open a command prompt inside the SDK directory and run the following :ref:`emsdk <emsdk>` commands to get the latest tools from Github and set them as :term:`active <Active Tool/SDK>`:
28+
Run the following :ref:`emsdk <emsdk>` commands to get the latest tools from GitHub and set them as :term:`active <Active Tool/SDK>`:
4429

4530
::
4631

@@ -65,9 +50,18 @@ If you change the location of the SDK (e.g. take it to another computer on an US
6550
Platform-specific notes
6651
----------------------------
6752

53+
Windows
54+
+++++++
55+
56+
#. Install Python 2.7.12 or newer (older versions may not work due to `a GitHub change with SSL <https://github.com/kripken/emscripten/issues/6275>`_).
57+
58+
.. note:: Instead of running emscripten on Windows directly, you can use the Windows Subsystem for Linux to run it in a Linux environment.
59+
6860
Mac OS X
6961
++++++++
7062

63+
If you use MacOS 10.13.3 or later then you should have a new enough version of Python installed (older versions may not work due to `a GitHub change with SSL <https://github.com/kripken/emscripten/issues/6275>`_). Otherwise you can manually install and use Python 2.7.12 or newer.
64+
7165
These instructions explain how to install **all** the :ref:`required tools <toolchain-what-you-need>`. You can :ref:`test whether some of these are already installed <toolchain-test-which-dependencies-are-installed>` on the platform and skip those steps.
7266

7367
#. Install the *XCode Command Line Tools*. These are a precondition for *git*.
@@ -94,20 +88,7 @@ Linux
9488

9589
.. note:: *Emsdk* does not install any tools to the system, or otherwise interact with Linux package managers. All file changes are done inside the **emsdk/** directory.
9690

97-
- The system must have a working :ref:`compiler-toolchain` (because *emsdk* builds software from the source):
98-
99-
::
100-
101-
#Update the package lists
102-
sudo apt-get update
103-
104-
# Install *gcc* (and related dependencies)
105-
sudo apt-get install build-essential
106-
107-
# Install cmake
108-
sudo apt-get install cmake
109-
110-
- *Python*, *node.js* or *Java* are not provided by *emsdk*. The user is expected to install these beforehand with the *system package manager*:
91+
- *Python*, *node.js*, *CMake*, and *Java* are not provided by *emsdk*. The user is expected to install these beforehand with the *system package manager*:
11192

11293
::
11394
@@ -116,10 +97,15 @@ Linux
11697
11798
# Install node.js
11899
sudo apt-get install nodejs
100+
101+
# Install CMake (optional, only needed for tests and building Binaryen)
102+
sudo apt-get install cmake
119103
120104
# Install Java (optional, only needed for Closure Compiler minification)
121105
sudo apt-get install default-jre
122106

107+
.. note:: You need Python 2.7.12 or newer because older versions may not work due to `a GitHub change with SSL <https://github.com/kripken/emscripten/issues/6275>`_).
108+
123109
.. note:: Your system may provide Node.js as ``node`` instead of ``nodejs``. In that case, you may need to also update the ``NODE_JS`` attribute of your ``~/.emscripten`` file.
124110

125111
- *Git* is not installed automatically. Git is only needed if you want to use tools from one of the development branches **emscripten-incoming** or **emscripten-master**:
@@ -161,7 +147,7 @@ Type the following in a command prompt ::
161147
# Activate PATH and other environment variables in the current terminal
162148
source ./emsdk_env.sh
163149

164-
The package manager can do many other maintenance tasks ranging from fetching specific old versions of the SDK through to using the :ref:`versions of the tools on Github <emsdk-master-or-incoming-sdk>` (or even your own fork). Check out all the possibilities in the :ref:`emsdk_howto`.
150+
The package manager can do many other maintenance tasks ranging from fetching specific old versions of the SDK through to using the :ref:`versions of the tools on GitHub <emsdk-master-or-incoming-sdk>` (or even your own fork). Check out all the possibilities in the :ref:`emsdk_howto`.
165151

166152
.. _downloads-uninstall-the-sdk:
167153

0 commit comments

Comments
 (0)