[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 11:45:33 PDT 2020


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



More information about the llvm-dev mailing list