[lldb-dev] Prebuilt binary for Windows

Nico Weber via lldb-dev lldb-dev at lists.llvm.org
Thu Jan 12 14:28:46 PST 2017


On Thu, Jan 12, 2017 at 1:18 PM, Vadim Chugunov via lldb-dev <
lldb-dev at lists.llvm.org> wrote:

> I was referring to this: https://support.microsoft.com/en-us/help/
> 2999226/update-for-universal-c-runtime-in-windows.   Granted, it was
> probably marked as non-critical, so some users may have skipped it.
>
> >  One of the redist options is to include an MSU in your installer that
> tells Windows Update to add UCRT to the list of components it updates
>
> We should figure out how to do that.
>
> But meanwhile, do people here agree that LLVM should be built with the /MD
> flag?
>

Like Reid said above, clang should statically link the CRT.


>
>
> On Thu, Jan 12, 2017 at 9:36 AM, Adrian McCarthy <amccarth at google.com>
> wrote:
>
>> >  [UCRT] had been pushed to Vista, 7 and 8 via Windows Update
>>
>> I didn't think that was true in general.  One of the redist options is to
>> include an MSU in your installer that tells Windows Update to add UCRT to
>> the list of components it updates.  So some Vista, 7, and 8 users may have
>> received it via Windows Update, but probably not all.
>>
>> That's what all the deployment articles seem to suggest (assuming I've
>> understood them correctly).  I suppose they may have decided to ship UCRT
>> to pre-Windows 10 users anyway, but I haven't come across anything that
>> says that.
>>
>> On Wed, Jan 11, 2017 at 6:48 PM, Vadim Chugunov <vadimcn at gmail.com>
>> wrote:
>>
>>>
>>>
>>> On Wed, Jan 11, 2017 at 3:54 PM, Zachary Turner <zturner at google.com>
>>> wrote:
>>>
>>>> Ahh, that would make sense as well, since LLDB links against liblldb as
>>>> a dll.  Don't see a good solution to this short of forcing dynamic linking.
>>>>  liblldb has to be a dll because it needs to be visible to python as an
>>>> extension module.  And if it's a dll and uses static linking, then we would
>>>> have to require that lldb.exe not pass file handles across the dll
>>>> boundary.  If that's easy then great, but I suspect it probably isn't.
>>>>
>>>> Honestly dynamic linking was created to solve exactly these kinds of
>>>> problems.  Yes there's the redist issue if on Windows < 10, but it seems
>>>> like a small price to pay for something that doesn't have weird subtle
>>>> bugs.  And as time goes on, more and more people will be on windows 10
>>>> anyway.
>>>>
>>>> Does the redistributable issue present a challenge for your use case?
>>>>
>>>
>>> There are actually two part of the MSVC runtime: the Universal C Runtime
>>> (UCRT) and the compiler-specific, VCRUNTIME140.   The former is widely
>>> available (comes with Windows 10, and had been pushed to Vista, 7 and 8 via
>>> Windows Update).  The latter is tied to the compiler version and must still
>>> be redistributed with programs.   Ideally, LLDB would use dynamic UCRT +
>>> static VCRUNTIMExx.  Unfortunately this doesn't seem to be a supported
>>> configuration (discussion of this issue in Python bug tracker
>>> <https://bugs.python.org/issue24872>).   Looks like Python folks opted
>>> for shipping VCRUNTIME140.DLL in their install directory.
>>>
>>>
>>
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20170112/39f5b987/attachment.html>


More information about the lldb-dev mailing list