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

Stefan Kanthak via llvm-dev llvm-dev at lists.llvm.org
Thu Aug 20 16:11:33 PDT 2020


"David Blaikie" <dblaikie at gmail.com> wrote:

> Please ease up on the all-caps/shouting and sarcasm.

I'm easy: the LLVM project writes LLVM in caps, Windows' FC.exe
prints the filenames C:\PROGRAM FILES\LLVM\BIN\clang.exe and
C:\PROGRAM FILES\LLVM\BIN\CLANG-CL.EXE in caps, ...

> It's not suitable in this forum.

I don't wear a suit, and this is a mailing llist!
If you are but not interested in bug reports.

> 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?

I don't use LLVM.
And I especially don't use vulnerable crap like executable installers.

> 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)

BUG #6:
~~~~~~
The second installation overwrites the start menu shortcuts and registry
information of the first installation.

BUG #7:
~~~~~~
A side-by-side installation of LLVM-10.0.0-win32.exe and
LLVM-10.0.0-win64.exe wastes another 1.5GB instead of just some
28 MB for the libraries clang_rt.*-{i386,x86_64}.lib
That's a very lovely and tiny factor of 50 (in words: FIFTY).

still not amused
Stefan

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