Hi Bill,
Thanks for the pointers, however I got this error:
ninja -t msvc -e environment.x64 -- "C:\Program Files (x86)\Microsoft
Visual
Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\HostX64\x64/cl.exe"
/nologo /showIncludes -DUSE_AURA=1 -D_HAS_EXCEPTIONS=0 -DCOMPONENT_BUILD
-D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE
-D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS
-DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL
-D_USING_V110_SDK71_ -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
-DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE
-DNTDDI_VERSION=NTDDI_WIN10_RS2 -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00
-DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0
-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DENABLE_MINOR_MC
-DV8_USE_EXTERNAL_STARTUP_DATA -DV8_CONCURRENT_MARKING
-DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_EMBEDDED_BUILTINS
-DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH
-DV8_COMPRESS_POINTERS -DV8_31BIT_SMIS_ON_64BIT_ARCH
-DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS
-DV8_TARGET_ARCH_X64 -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_WIN
-DDISABLE_UNTRUSTED_CODE_MITIGATIONS -DBUILDING_V8_SHARED
-DV8_COMPRESS_POINTERS -DV8_31BIT_SMIS_ON_64BIT_ARCH
-DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS
-DV8_COMPRESS_POINTERS -DV8_31BIT_SMIS_ON_64BIT_ARCH
-DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS
-DUSING_V8_BASE_SHARED -I../.. -Igen -I../.. -Igen -I../../include
-I../../third_party/zlib /Gy /FS /bigobj /utf-8 /Zc:sizedDealloc- /wd4117
/D__DATE__= /D__TIME__= /D__TIMESTAMP__= /W4 /WX /wd4091 /wd4127 /wd4251
/wd4275 /wd4312 /wd4324 /wd4351 /wd4355 /wd4503 /wd4589 /wd4611 /wd4100
/wd4121 /wd4244 /wd4505 /wd4510 /wd4512 /wd4610 /wd4838 /wd4995 /wd4996
/wd4456 /wd4457 /wd4458 /wd4459 /wd4200 /wd4201 /wd4204 /wd4221 /wd4245
/wd4267 /wd4305 /wd4389 /wd4702 /wd4701 /wd4703 /wd4661 /wd4706 /wd4715 /MD
/wd4245 /wd4267 /wd4324 /wd4701 /wd4702 /wd4703 /wd4709 /wd4714 /wd4715
/wd4718 /wd4723 /wd4724 /wd4800 /wd4506 /O2 /Ob2 /Oy- /Zc:inline /Gw /TP
/wd4577 /GR- /c ../../src/objects/js-objects.cc
/Foobj/v8_base_without_compiler/js-objects.obj
/Fd"obj/v8_base_without_compiler_cc.pdb"
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\list(1264): error
C2280: 'v8::internal::MemoryMeasurement::Request
&v8::internal::MemoryMeasurement::Request::operator =(const
v8::internal::MemoryMeasurement::Request &)': attempting to reference a
deleted function
../..\src/heap/memory-measurement.h(43): note: compiler has generated
'v8::internal::MemoryMeasurement::Request::operator =' here
../..\src/heap/memory-measurement.h(43): note:
'v8::internal::MemoryMeasurement::Request
&v8::internal::MemoryMeasurement::Request::operator =(const
v8::internal::MemoryMeasurement::Request &)': function was implicitly
deleted because a data member invokes a deleted or inaccessible function
'std::unique_ptr<v8::MeasureMemoryDelegate,std::default_delete<v8::MeasureMemoryDelegate>>
&std::unique_ptr<v8::MeasureMemoryDelegate,std::default_delete<v8::MeasureMemoryDelegate>>::operator
=(const
std::unique_ptr<v8::MeasureMemoryDelegate,std::default_delete<v8::MeasureMemoryDelegate>>
&)'
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\memory(1913): note:
'std::unique_ptr<v8::MeasureMemoryDelegate,std::default_delete<v8::MeasureMemoryDelegate>>
&std::unique_ptr<v8::MeasureMemoryDelegate,std::default_delete<v8::MeasureMemoryDelegate>>::operator
=(const
std::unique_ptr<v8::MeasureMemoryDelegate,std::default_delete<v8::MeasureMemoryDelegate>>
&)': function was explicitly deleted
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\list(1273): note:
see reference to function template instantiation 'void
std::list<v8::internal::MemoryMeasurement::Request,std::allocator<v8::internal::MemoryMeasurement::Request>>::_Assign_cast<v8::internal::MemoryMeasurement::Request&,_Iter>(_UIter,const
_UIter)' being compiled
with
[
_Iter=std::_List_unchecked_const_iterator<std::_List_val<std::_List_simple_types<v8::internal::MemoryMeasurement::Request>>,std::_Iterator_base0>,
_UIter=std::_List_unchecked_const_iterator<std::_List_val<std::_List_simple_types<v8::internal::MemoryMeasurement::Request>>,std::_Iterator_base0>
]
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\list(1273): note:
see reference to function template instantiation 'void
std::list<v8::internal::MemoryMeasurement::Request,std::allocator<v8::internal::MemoryMeasurement::Request>>::_Assign_cast<v8::internal::MemoryMeasurement::Request&,_Iter>(_UIter,const
_UIter)' being compiled
with
[
_Iter=std::_List_unchecked_const_iterator<std::_List_val<std::_List_simple_types<v8::internal::MemoryMeasurement::Request>>,std::_Iterator_base0>,
_UIter=std::_List_unchecked_const_iterator<std::_List_val<std::_List_simple_types<v8::internal::MemoryMeasurement::Request>>,std::_Iterator_base0>
]
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\list(1051): note:
see reference to function template instantiation 'void
std::list<v8::internal::MemoryMeasurement::Request,std::allocator<v8::internal::MemoryMeasurement::Request>>::assign<std::_List_unchecked_const_iterator<std::_List_val<std::_List_simple_types<_Ty>>,std::_Iterator_base0>,void>(_Iter,_Iter)'
being compiled
with
[
_Ty=v8::internal::MemoryMeasurement::Request,
_Iter=std::_List_unchecked_const_iterator<std::_List_val<std::_List_simple_types<v8::internal::MemoryMeasurement::Request>>,std::_Iterator_base0>
]
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\list(1051): note:
see reference to function template instantiation 'void
std::list<v8::internal::MemoryMeasurement::Request,std::allocator<v8::internal::MemoryMeasurement::Request>>::assign<std::_List_unchecked_const_iterator<std::_List_val<std::_List_simple_types<_Ty>>,std::_Iterator_base0>,void>(_Iter,_Iter)'
being compiled
with
[
_Ty=v8::internal::MemoryMeasurement::Request,
_Iter=std::_List_unchecked_const_iterator<std::_List_val<std::_List_simple_types<v8::internal::MemoryMeasurement::Request>>,std::_Iterator_base0>
]
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\list(1049): note:
while compiling class template member function 'void
std::list<v8::internal::MemoryMeasurement::Request,std::allocator<v8::internal::MemoryMeasurement::Request>>::_Copy_assign(const
std::list<v8::internal::MemoryMeasurement::Request,std::allocator<v8::internal::MemoryMeasurement::Request>>
&,std::false_type)'
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\list(1065): note:
see reference to function template instantiation 'void
std::list<v8::internal::MemoryMeasurement::Request,std::allocator<v8::internal::MemoryMeasurement::Request>>::_Copy_assign(const
std::list<v8::internal::MemoryMeasurement::Request,std::allocator<v8::internal::MemoryMeasurement::Request>>
&,std::false_type)' being compiled
../..\src/heap/memory-measurement.h(51): note: see reference to class
template instantiation
'std::list<v8::internal::MemoryMeasurement::Request,std::allocator<v8::internal::MemoryMeasurement::Request>>'
being compiled
../..\src/objects/objects.h(272): note: see reference to class template
instantiation
'v8::internal::TaggedImpl<v8::internal::HeapObjectReferenceType::STRONG,v8::internal::Address>'
being compiled
[204/903] CXX obj/v8_base_without_compiler/bytecode-label.obj
ninja: build stopped: subcommand failed.
when building the 8.1.307.16 tag (which according to git branch --contains
has both the fixes) with the following args.gn
is_clang = false
is_component_build = true
is_debug = false
symbol_level = 1
target_cpu = "x64"
use_goma = false
v8_enable_backtrace = true
v8_enable_i18n_support = false
On Monday, March 2, 2020 at 10:34:54 PM UTC+2, Bill Ticehurst wrote:
>
> For what you describe, building a release DLL via MSVC should work fine
> (however Debug builds still have issues).
>
> See https://groups.google.com/forum/#!topic/v8-users/cvFGONOg_BY and
> https://groups.google.com/forum/#!topic/v8-users/mmwWxpb64_I for prior
> discussions.
>
> - Bill
>
> On Tuesday, February 25, 2020 at 9:37:55 PM UTC-8, Ben Ernst wrote:
>>
>> Clemens, Dimitar,
>> This use case is very important to me also. I think there are a few
>> threads in this group on the topic. For my part, I have complex application
>> with many third party dependencies. Those dependencies do not support
>> clang. So I can't compile my application with clang. I also call V8 code
>> from several different first-party dynamically linked libraries within my
>> application. Using a static linked build of V8 doesn't work in this
>> situation. There is static data in V8 that ends up in multiple DLLs, and
>> messes things up in horrible ways. I can re-architect to only link to V8
>> from one DLL to fix this. Since dynamic-linked V8 is no longer supported, I
>> am slowly working on this, but it's a complex and painful task.
>> Cheers,
>> Ben Ernst
>>
>> On Wednesday, 26 February 2020 05:17:47 UTC+10:30, Clemens Backes wrote:
>>>
>>> On Tue, Feb 25, 2020 at 7:01 PM <[email protected]> wrote:
>>>
>>>> Hi Clemens,
>>>>
>>>> I don't see any discussion in the bug https://crbug.com/v8/9555 about
>>>> the support for MSVC.
>>>> Is there a place, where we can vote or explain our use case for not
>>>> breaking the usage of v8 from MSVC?
>>>>
>>>
>>> You are right, the issue only raises the question but does not answer it.
>>> This is a product decision that would best be made by +Michael Hablich.
>>>
>>> I think this mailing list would actually be a good place to explain your
>>> use case. Alternatively, a v8 issue would also do, since depending on the
>>> outcome there will be infrastructure work to do on our side.
>>>
>>> Cheers,
>>> Clemens
>>>
>>>
>>>> Best regards,
>>>> Dimitar
>>>>
>>>> On Monday, July 29, 2019 at 1:43:30 PM UTC+3, Clemens Backes wrote:
>>>>>
>>>>> Note: This is being tracked as https://crbug.com/v8/9555 now. I am
>>>>> just landing a fix for this <https://crrev.com/c/1720669>, and on the
>>>>> bug we are discussing whether we care enough about MSVC debug to add a
>>>>> bot
>>>>> to the waterfall.
>>>>>
>>>>> On Mon, Jul 29, 2019 at 12:36 PM Jakob Kummerow <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> if someone has the magic args.gn needed, I'd appreciate it.
>>>>>>
>>>>>>
>>>>>> For the record, you can easily get any build bot's args.gn: click
>>>>>> through to a specific build (in this case, e.g.
>>>>>> https://ci.chromium.org/p/v8/builders/try/v8_win64_msvc_compile_rel/b8906608002392908144),
>>>>>>
>>>>>> and in the "Steps and Logs" section, look for "gn_args".
>>>>>>
>>>>>> Is this still supported?
>>>>>>
>>>>>>
>>>>>> I'm not sure what the official policy is at the moment. I think at
>>>>>> the very least, we would happily accept patches that maintain the MSVC
>>>>>> build. As you have figured out, we have Release-mode buildbot coverage
>>>>>> for
>>>>>> it; I guess we assume that MSVC Debug builds are used and/or break
>>>>>> rarely
>>>>>> enough that spending bot resources on them is hard to justify.
>>>>>>
>>>>>>
>>>>>> On Fri, Jul 26, 2019 at 1:05 AM billti via v8-dev <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> A colleague tracked it down to the CSA_ASSERT macro in
>>>>>>> code-stub-assembler.h failing in debug builds (looks like the tryjob
>>>>>>> only
>>>>>>> builds rel for MSVC).
>>>>>>>
>>>>>>> This change 16 days ago seems to have broken it:
>>>>>>> https://chromium-review.googlesource.com/c/v8/v8/+/1693002 . If I
>>>>>>> check out the parent commit (0fd3766) I can build debug fine in MSVC
>>>>>>> (after
>>>>>>> one more trivial MSVC fix in a DCHECK in wasm-module-builder.cc). It
>>>>>>> still
>>>>>>> gives the "/Zc:twoPhase" compiler option warning, but hopefully that's
>>>>>>> benign.
>>>>>>>
>>>>>>> I'll log a bug.
>>>>>>>
>>>>>>> On Thursday, July 25, 2019 at 3:38:20 PM UTC-7, [email protected]
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Is this still supported?
>>>>>>>>
>>>>>>>> Trying to build the tip of master with 'is_clang = false' in
>>>>>>>> args.gn (and various other attempted options) is giving lots of
>>>>>>>> different warnings and failures, e.g.
>>>>>>>>
>>>>>>>>
>>>>>>>> cl : Command line warning D9002 : ignoring unknown option
>>>>>>>> '/Zc:twoPhase'
>>>>>>>> .etc.
>>>>>>>> [501/1829] CXX
>>>>>>>> obj/torque_generated_initializers/proxy-set-property-tq-csa.obj
>>>>>>>> FAILED:
>>>>>>>> obj/torque_generated_initializers/proxy-set-property-tq-csa.obj
>>>>>>>> .etc.
>>>>>>>> C:\src\v8\v8\src/codegen/code-stub-assembler.h(493): error C2059:
>>>>>>>> syntax error: ','
>>>>>>>> .etc.
>>>>>>>> C:\src\v8\v8\src/objects/tagged-impl-inl.h(18): fatal error C1003:
>>>>>>>> error count exceeds 100; stopping compilation
>>>>>>>> .etc.
>>>>>>>>
>>>>>>>> It's the first time I've tried with MSVC, so may be doing something
>>>>>>>> wrong. (I have no issues with the default clang-based builds on the
>>>>>>>> same
>>>>>>>> machine).
>>>>>>>>
>>>>>>>> I can see from task manager and the log output it is using the
>>>>>>>> right MSVC compiler (I tried with VS 2017 and VS 2019 installs), e.g.
>>>>>>>>
>>>>>>>> > ninja -t msvc -e environment.x64 -- "C:\Program Files
>>>>>>>> (x86)\Microsoft Visual
>>>>>>>> Studio\2019\Enterprise\VC\Tools\MSVC\14.22.27905\...
>>>>>>>>
>>>>>>>> I see some of the V8 tryjobs build with MSVC (e.g.
>>>>>>>> https://ci.chromium.org/p/v8/builders/try/v8_win64_msvc_compile_rel)
>>>>>>>> and seem to be working, so if someone has the magic args.gn
>>>>>>>> needed, I'd appreciate it.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> - Bill
>>>>>>>>
>>>>>>> --
>>>>>>> --
>>>>>>> v8-dev mailing list
>>>>>>> [email protected]
>>>>>>> http://groups.google.com/group/v8-dev
>>>>>>> ---
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "v8-dev" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/d/msgid/v8-dev/61cdf5a4-a276-4fcb-9bd7-ed37f1c40d49%40googlegroups.com
>>>>>>>
>>>>>>> <https://groups.google.com/d/msgid/v8-dev/61cdf5a4-a276-4fcb-9bd7-ed37f1c40d49%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> --
>>>>>> --
>>>>>> v8-dev mailing list
>>>>>> [email protected]
>>>>>> http://groups.google.com/group/v8-dev
>>>>>> ---
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "v8-dev" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/d/msgid/v8-dev/CAKSzg3Q1cq4Vwzs3mS-bFjTHHKFbwSWzhhGwjqANA2V56E%3DvdQ%40mail.gmail.com
>>>>>>
>>>>>> <https://groups.google.com/d/msgid/v8-dev/CAKSzg3Q1cq4Vwzs3mS-bFjTHHKFbwSWzhhGwjqANA2V56E%3DvdQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Clemens Hammacher
>>>>>
>>>>> Software Engineer
>>>>>
>>>>> [email protected]
>>>>>
>>>>>
>>>>> Google Germany GmbH
>>>>>
>>>>> Erika-Mann-Straße 33
>>>>>
>>>>> 80636 München
>>>>>
>>>>> Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
>>>>>
>>>>> Registergericht und -nummer: Hamburg, HRB 86891
>>>>>
>>>>> Sitz der Gesellschaft: Hamburg
>>>>>
>>>>> Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise
>>>>> erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes
>>>>> weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich
>>>>> bitte
>>>>> wissen, dass die E-Mail an die falsche Person gesendet wurde.
>>>>>
>>>>>
>>>>>
>>>>> This e-mail is confidential. If you received this communication by
>>>>> mistake, please don't forward it to anyone else, please erase all copies
>>>>> and attachments, and please let me know that it has gone to the wrong
>>>>> person.
>>>>>
>>>> --
>>>> --
>>>> v8-dev mailing list
>>>> [email protected]
>>>> http://groups.google.com/group/v8-dev
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "v8-dev" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/v8-dev/04cceab7-c95c-4846-bfab-33ce84857ba0%40googlegroups.com
>>>>
>>>> <https://groups.google.com/d/msgid/v8-dev/04cceab7-c95c-4846-bfab-33ce84857ba0%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>
>>>
>>> --
>>>
>>> Clemens Backes
>>>
>>> Software Engineer
>>>
>>> [email protected]
>>>
>>>
>>> Google Germany GmbH
>>>
>>> Erika-Mann-Straße 33
>>>
>>> 80636 München
>>>
>>> Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
>>>
>>> Registergericht und -nummer: Hamburg, HRB 86891
>>>
>>> Sitz der Gesellschaft: Hamburg
>>>
>>> Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten
>>> haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter,
>>> löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen,
>>> dass die E-Mail an die falsche Person gesendet wurde.
>>>
>>>
>>> This e-mail is confidential. If you received this communication by
>>> mistake, please don't forward it to anyone else, please erase all copies
>>> and attachments, and please let me know that it has gone to the wrong
>>> person.
>>>
>>>
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/v8-dev/7dcacfea-71ee-4a6a-9e2d-8b34c496f480%40googlegroups.com.