[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
Fri Aug 21 05:23:57 PDT 2020


"Michael Kruse" <llvmdev at meinersbur.de> wrote:

> I think David is not referring to the capitalization of file names, but to
> "DUPLICATE", "WASTING", "NOT AMUSED", "BOGUS" etc.

I EMPHASIZE in the only way possible with plain text.

> It should be possible to report problems in a professional manner.

It should also be possible to handle problem reports in a professional
manner!

> Please remember that the project is made available by volunteers
> for free. We also have a dedicated bug tracker: bugs.llvm.org.

You are free to enter the bugs I pointed out there.
I don't use LLVM, so don't expect me to jump throught loops to report
obvious bugs.

> Am Do., 20. Aug. 2020 um 13:49 Uhr schrieb Stefan Kanthak via llvm-dev <llvm-dev at lists.llvm.org>:
>
>> BUGS #1 & #2:
>> ~~~~~~~~~~~~~
>>
>
> On UNIX systems, these are symlinks.

UNIX and Windows are quite different.

> There are multiple potential equivalents to symlinks on Windows systems,
> the one matching UNIX systems the closest is relatively new and requires
> either Administrator rights or developer mode turned on.

Hardlinks don't. And they are available on both systems.

> Typically tools ported from a UNIX environment to Windows just copy the
> file instead symlinking to avoid dealing with issues such as when the
> installing on a non-NTFS file system (FAT, network drive, etc),

Do you really want to tell that the installer LLVM uses on Windows was
ported from UNIX?
REALITY CHECK, please!
The default installation goes into %ProgramFiles%\LLVM, which is located
on NTFS.

> so does LLVM (
https://github.com/llvm/llvm-project/blob/master/llvm/cmake/modules/LLVMInstallSymlink.cmake
).

> Since mass storage is cheap, there isn't a lot of motivation to save to
> invest time to save some space. However, you are free to invest that time
> yourself and submit patches.

I'm even free not to use LLVM at all, but nevertheless see and report its
bugs and deficiencies here: be professional and fix them

>> 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.
>>
>>
> The button labels and message box title are provided by the Operating
> System / Nullsoft Install System.

To use this obviously defective "install system" is then a rather poor
choice.

> LLVM itself does not do any localization itself.
> I'd be more concerned that if offers to "install the old version"
> (rather than uninstall it).

This seems to be a typo.
I'd rather be concerned about the OLD version here, which might be
ANY other version, older, newer, or the same, but just for the other
processor architecture of the target OS!

Do you consider such misleading messages appropriate for a product
developed by professionals?

> My guess this warning is a functionality provided by the Nullsoft Install
> System that assumes that software only needs to be installed once on the
> system. I wouldn't call it bogus, you may indeed not want to keep an older
> version installed at the same time.

Most obviously this "install system" was the wrong choice for LLVM.

BUG #8:
~~~~~~~

The defective installer creates a shortcut "Uninstall LLVM" in the
start menu, violating the MINIMUM requirements of the now 25 year old
"Designed for Windows guidelines".

JFTR: Windows ships with two builtin installers (SetupAPI and Windows
      Installer), there's no need to use a defective 3rd party product
      at all.

Stefan



More information about the llvm-dev mailing list