[llvm-dev] Clang is a resource hog, the installers for Windows miss quite some files, and are defect!

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Thu Aug 20 15:24:41 PDT 2020


Please ease up on the all-caps/shouting and sarcasm. It's not suitable
in this forum.

Yes, people on the project have likely heard of hard links. Perhaps
there are practical reasons they're not suitable here, or someone
hasn't had the time, etc - perhaps you could contribute
patches/support for this?

As for the x86/x64 - while clang itself is a cross compiler, yeah, I'm
not sure any of the distributions include multiple target runtime
support (though, yeah, being able to install them side-by-side, either
as modules to the same installation, or at least both full
installations separately)

On Thu, Aug 20, 2020 at 11:49 AM Stefan Kanthak via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> Hi @ll,
>
> BUGS #1 & #2:
> ~~~~~~~~~~~~~
>
> The installer LLVM-10.0.0-win64.exe dumps the following DUPLICATE files
> in "C:\Program Files\LLVM\bin", WASTING about 500MB disk space, which is
> nearly a third of the disk space occupied by the whole package:
>
> | DIR "C:\Program Files\LLVM\bin" /O:-S
> ...
> | 25.03.2020  12:15        83.258.880              clang-cl.exe
> | 25.03.2020  12:03        83.258.880              clang.exe
> | 25.03.2020  12:15        83.258.880              clang++.exe
> | 25.03.2020  12:15        83.258.880              clang-cpp.exe
> ...
> | 25.03.2020  12:15        57.812.480              lld-link.exe
> | 25.03.2020  12:05        57.812.480              lld.exe
> | 25.03.2020  12:15        57.812.480              ld.lld.exe
> | 25.03.2020  12:15        57.812.480              ld64.lld.exe
> | 25.03.2020  12:15        57.812.480              wasm-ld.exe
> ...
> | 25.03.2020  12:15        18.182.144              llvm-ranlib.exe
> | 25.03.2020  12:15        18.182.144              llvm-lib.exe
> | 25.03.2020  12:00        18.182.144              llvm-ar.exe
> |
> | FC.exe "C:\Program Files\LLVM\bin\clang.exe" "C:\Program Files\LLVM\bin\clang-cl.exe"
> | Vergleichen der Dateien C:\PROGRAM FILES\LLVM\BIN\clang.exe und C:\PROGRAM FILES
> \LLVM\BIN\CLANG-CL.EXE
> | FC: Keine Unterschiede gefunden
> |
> | FSUTIL.exe Hardlink List "C:\Program Files\LLVM\bin\clang.exe"
> | \Program Files\LLVM\bin\clang.exe
> ...
>
>
> Dito for LLVM-10.0.0-win32.exe:
>
> | DIR "C:\Program Files (x86)\LLVM\bin" /O:-S
> ...
> | 25.03.2020  11:21        77.862.912              clang-cpp.exe
> | 25.03.2020  11:21        77.862.912              clang-cl.exe
> | 25.03.2020  11:21        77.862.912              clang++.exe
> | 25.03.2020  11:13        77.862.912              clang.exe
> ...
> | 25.03.2020  11:22        54.811.648              ld.lld.exe
> | 25.03.2020  11:22        54.811.648              ld64.lld.exe
> | 25.03.2020  11:15        54.811.648              lld.exe
> | 25.03.2020  11:22        54.811.648              lld-link.exe
> | 25.03.2020  11:22        54.811.648              wasm-ld.exe
> ...
> | 25.03.2020  11:21        17.346.560              llvm-ranlib.exe
> | 25.03.2020  11:10        17.346.560              llvm-ar.exe
> | 25.03.2020  11:21        17.346.560              llvm-lib.exe
>
> Ever heard of hardlinks?
> NTFS supports them since its introduction nearly 30 years ago, and
> Windows NT provides an API to create them since 24 years.
>
>
> BUGS #3 & #4:
> ~~~~~~~~~~~~~
>
> Although the compiler/linker/... installed with both packages are able
> to produce 32-bit as well as 64-bit executables, 32-bit executables
> can't be linked with the 64-bit package, and vice versa: each package
> contains only the clang_rt.*.lib for its own architecture.
>
> The libraries for 32-bit targets are missing in LLVM-10.0.0-win64.exe,
> and vice versa.
>
> | DIR "C:\Program Files\LLVM\lib\clang\10.0.0\lib\windows\*-i386.lib"
> ...
> | Datei nicht gefunden
> ...
> | DIR "C:\Program Files (x86)\LLVM\lib\clang\10.0.0\lib\windows\*-x86_64.lib"
> ...
> | Datei nicht gefunden
>
>
> BUG #5:
> ~~~~~~~
>
> Poor souls who want to install the 64-bit package after/aside the
> 32-bit package (or vice versa) are greeted with the following BOGUS
> message from the installers:
>  ______________________________________________________
> | Installation von LLVM
> |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
> |  ^
> | /!\ LLVM is already installed.
> | ¯¯¯
> |     Do you want to install the old version before
> |     installing the new one?
> |
> |     [ Ja ] [ Nein ] [ Abbrechen ]
> |
>  ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
> Also note the denglish kauderwelsch: the title bar and the buttons
> are localized, but the message text isn't.
>
>
> NOT AMUSED
> Stefan Kanthak
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list