-
Notifications
You must be signed in to change notification settings - Fork 731
Installation takes 25GB? #109
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
Comments
Another comment there suggests the large size is due in large part to defaulting to debug or assertions building. |
One possible option here is to port clang/llvm to wasm. Then if the emsdk ships with a wasm vm, it can run those binaries instead of native binaries, on any platform. So say if there aren't native binaries for a platform, we could use that? |
This issue indeed comes from the debug info being present for callstacks in case of an assertion failure (i.e. choosing If one does |
I'm the user who posted on rust-lang. I screenshotted Disk Usage's output of the emsdk folder, if it's useful for anyone. The excessive disk usage seems to be almost entirely due to large binaries. For example, the clang binary is 1.4GB by itself. |
1.4GB for clang seems like it has to be a bug. @MortenLohne what OS is that on? I wonder if it's platform-specific. Although I remember hearing that LLVM debug info in general is "too big", I wonder if this is just that. @juj thanks for the info. Makes sense. How about if we add some notification though, for |
On my Macbook, Update: when building with flag |
This commit sets the `--build` flag to `Release`, as, by default, `emsdk` builds with additional debug info which significantly inflates the final build size (~10GB). Setting to `Release` ensures that the debug info is not included, reducing the size of `clang` to around `~1.7GB` on my Macbook. While not "small", this does significantly reduce the footprint. References: - https://github.com./juj/emsdk/blob/2324e5d8f419483bd4025c6ebb4eef1635d35625/emsdk#L1996 - emscripten-core/emsdk#109
The latest emsdk defaults to |
(See also emscripten-core/emscripten#6016) |
@saschanaz Thanks for the links! |
Add emulated win-arm64 packs
A rust user trying emscripten says the install was slo and took 25GB. I suppose that's because it downloaded the full git reports of LLVM and clang and built from source - but doesn't the emsdk default to downloading a binary now on all platforms?
Perhaps we should warn when downloading the full git repos? In particular if we download the full repos for installing incoming, maybe we could warn and say people should install the latest tag instead - assuming for tags we download just the tag and not the full git repo?
The text was updated successfully, but these errors were encountered: