Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't install tools #13058

Open
olsbg opened this issue Dec 16, 2020 · 10 comments
Open

Can't install tools #13058

olsbg opened this issue Dec 16, 2020 · 10 comments
Labels

Comments

@olsbg
Copy link

olsbg commented Dec 16, 2020

C:>emsdk install emscripten-1.38.31
Installing tool 'emscripten-1.38.31'..
Error: Downloading URL 'https://github.com/kripken/emscripten/archive/1.38.31.zip': [ASN1] nested asn1 error (_ssl.c:4146)
Installation failed!

When trying to manually download file and place it in "zips" folder, it's being automatically deleted after running the emsdk install emscripten-1.38.31 command.

Environment:
Windows 7
Python 3.8.6
Node v13.14.0
jdk1.8.0_271
jre1.8.0_271

Installing SDK is not an option as it contains older versions of Python and Node.

@sbc100
Copy link
Collaborator

sbc100 commented Dec 16, 2020

First of all, why are you trying to install this very old version emscripten? Its almost two years old now.

Secondly, what do you mean by it contains older versions of Python and Node? emsdk is designed to bungle compatible versions of python and node along with emscripten. If you want to mix and match versions of python, node and emscripten, then you kind of subverting the purpose emsdk (which is to bundle them all together). Can you explain why you old and old version of emscripten but a new version of those other tools?

Finally, what you are doing should work. Indeed it works for me on my linux machine. It seems to be some kind of issue with the python installation not being able to use SSL correctly. A couple of things you can try:

  1. Run python emsdk.py install emscripten-1.38.31 so that you control exactly which python version is being used rather than having emsdk.bat choose one.
  2. Reinstall your python and make sure where python reports the correct path.

@olsbg
Copy link
Author

olsbg commented Dec 16, 2020

  1. Well, this version is what I got via git clone https://github.com/emscripten-core/emscripten.git command.
  2. By executing emsdk list this is what I get:

The recommended precompiled SDK download is 2.0.10 (37fc7647c754ac9a28ad588c14
3b82286de0ef71).

To install/activate it, use one of:
latest [default (llvm) backend]
latest-fastcomp [legacy (fastcomp) backend]

Those are equivalent to installing/activating the following:
2.0.10
2.0.10-fastcomp

All recent (non-legacy) installable versions are:
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
1.40.1
1.40.0
1.39.20
1.39.19
1.39.18
1.39.17
1.39.16
1.39.15
1.39.14
1.39.13
1.39.12
1.39.11
1.39.10
1.39.9
1.39.8
1.39.7
1.39.6
1.39.5
1.39.4
1.39.3
1.39.2
1.39.1
1.39.0
1.38.48
1.38.47
1.38.46
1.38.45
1.38.44
1.38.43
1.38.42
1.38.41
1.38.40
1.38.39
1.38.38
1.38.37
1.38.36
1.38.35
1.38.34
1.38.33

The additional following precompiled SDKs are also available for download:
sdk-releases-upstream-048cf9424790cc525a7ea6da340820aae226f3b9-64bit
sdk-releases-upstream-3b8cff670e9233a6623563add831647e8689a86b-64bit
sdk-releases-fastcomp-048cf9424790cc525a7ea6da340820aae226f3b9-64bit
sdk-releases-fastcomp-3b8cff670e9233a6623563add831647e8689a86b-64bit
sdk-fastcomp-1.38.30-64bit
sdk-fastcomp-1.38.31-64bit

The following SDKs can be compiled from source:
sdk-upstream-master-64bit
sdk-fastcomp-master-32bit
sdk-fastcomp-master-64bit
sdk-fastcomp-tag-1.38.30-64bit
sdk-fastcomp-tag-1.38.31-64bit

The following precompiled tool packages are available for download:
releases-upstream-048cf9424790cc525a7ea6da340820aae226f3b9-64bit
releases-upstream-3b8cff670e9233a6623563add831647e8689a86b-64bit
releases-fastcomp-048cf9424790cc525a7ea6da340820aae226f3b9-64bit
releases-fastcomp-3b8cff670e9233a6623563add831647e8689a86b-64bit
fastcomp-clang-e1.38.30-64bit
fastcomp-clang-e1.38.31-64bit
node-8.9.1-64bit
node-12.18.1-64bit
python-2.7.13.1-64bit
python-3.7.4-64bit
python-3.7.4-pywin32-64bit
java-8.152-64bit
emscripten-1.38.30
emscripten-1.38.31
gnu-2.5.4
mingw-7.1.0-64bit

The following tools can be compiled from source:
llvm-git-master-32bit
llvm-git-master-64bit
clang-tag-e1.38.30-32bit
clang-tag-e1.38.31-32bit
fastcomp-clang-tag-e1.38.30-64bit
fastcomp-clang-tag-e1.38.31-64bit
fastcomp-clang-master-32bit
fastcomp-clang-master-64bit
emscripten-tag-1.38.30-32bit
emscripten-tag-1.38.31-32bit
emscripten-tag-1.38.30-64bit
emscripten-tag-1.38.31-64bit
binaryen-tag-1.38.30-32bit
binaryen-tag-1.38.31-32bit
binaryen-tag-1.38.30-64bit
binaryen-tag-1.38.31-64bit
emscripten-master-32bit
emscripten-master-64bit
binaryen-master-32bit
binaryen-master-64bit

Items marked with * are activated for the current user.

To access the historical archived versions, type 'emsdk list --old'

Run "git pull" followed by "./emsdk update-tags" to pull in the latest list.

So, emscripten-1.38.31 looks like the latest version. Also, a precompiled tool packages contain, e.g node-12.18.1-64bit and python-3.7.4-pywin32-64bit while I already have Node v13.14.0 and Python 3.8.6.

Many thanks for your support!

@donalffons
Copy link

The latest release version is 2.0.10 (also can be seen here and here, for example).
emsdk install latest also works, by the way, as explained here.
There is also a Docker image.

@sbc100 sbc100 closed this as completed Dec 16, 2020
@sbc100 sbc100 reopened this Dec 16, 2020
@sbc100
Copy link
Collaborator

sbc100 commented Dec 16, 2020

I guess we should maybe remove those from the --help output? Aside from that can this issue be closed now?

@olsbg
Copy link
Author

olsbg commented Dec 17, 2020

I read all instructions prior to writing here, of course.

Running emsdk install 2.0.10 it starts installing older version of Node, which I want to avoid.

C:\Users\user\emsdk>emsdk install 2.0.10
Installing SDK 'sdk-releases-upstream-37fc7647c754ac9a28ad588c143b82286de0ef71-64bit'..
Installing tool 'node-12.18.1-64bit'..

So, I would appreciate a direction on how to install only the latest emscripten without installing bundled java, python and node.

Thanks!

@sbc100
Copy link
Collaborator

sbc100 commented Dec 17, 2020

This version of node it used by emscripten internally, is there a particular reason you want emscripten not to use its chosen version of node? The primary point of emsdk is bundle a set of tools together that have been tested and are know to work. emsdk using this version of node should not prevent you from having other versions of node your system for other purposes.

If you really don't want to use emsdk's bundled version of node, python, etc you could do this: install emsdk, and then modify the generated emsdk/.emscripten config file to point to your preferred version of node. This means the version installed by emsdk will not actually be used.

@johnoneil
Copy link

I'm also having trouble installing tools via emsdk.
I'm doing the typical install to use the latest release:

emsdk install latest
emsdk activate latest
source <path to env.sh>

However this does not install any binaryen tooling. I'm running into trouble building a Rust repo which seems to fail due to this issue: #12551

So my failure seems to be a mismatch between the emscripten tools and binaryen versions, and the recommended approach is to install binaryen via emsdk but how is this done? Also where can I find info telling me what is the "correct" version of binaryen that matches the current version of emscripten ??

I've tried manually installing binaryen via the emsdk, installing that from source deactivates the current emscripten tooling, and vice versa. Sorry, but I'm lost.

Is there a recommended workflow to install the current emscripten and corresponding binaryen via the emsdk ?

@sbc100
Copy link
Collaborator

sbc100 commented Apr 9, 2021

The command you list do (should) install the binaryen tools in upstream/bin. This directory contains the llvm and binaryen binaries but its not added your PATH by default (since emscripten uses them directly, not via PATH).

The version of binaryen in upstream/bin will always be an exact match for the version of emscripten in upstream/emscripten.

@johnoneil
Copy link

Thank you @sbc100 . I think I must be running into a separate issue then. Perhaps the version of llvm used by Rust vs emscripten. Will look elsewhere.

@stale
Copy link

stale bot commented Apr 16, 2022

This issue has been automatically marked as stale because there has been no activity in the past year. It will be closed automatically if no further activity occurs in the next 30 days. Feel free to re-open at any time if this issue is still relevant.

@stale stale bot added the wontfix label Apr 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants