I'm encountering a very different issue now with a clean build. The
interesting part follows, and I attached a file with a more complete error
message. I get many messages like this, complaining about object
definitions not being available to class-definitions-tq.h. The error
message seems to be legitimate. Can someone tell me, how are these -tq.h
files generated? The answer seems to involve something called "torque". How
would I go about telling "torque" where to find the missing headers? This
problem doesn't seem to have anything to do with MSVC though, so I can't
figure out why clang builds wouldn't be having the same error.
[exec] C:\Program Files (x86)\Microsoft Visual
Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(616):
error C2139: 'v8::internal::Cell': an undefined class is not allowed as an
argument to compiler intrinsic type trait '__is_convertible_to'
[exec]
C:\fd22cbe1\v8\out.gn\x64.release\gen\torque-generated/class-definitions-tq.h(78):
note: see declaration of 'v8::internal::Cell'
On Tuesday, 19 November 2019 20:10:47 UTC+8, Ben Ernst wrote:
>
> Seth, my output seems to be equivalent to yours. Included here. I'll run a
> clean build and repeat.
> Ben.
>
> include_dirs
> From //build/config/compiler:default_include_dirs
> (Added by //build/config/BUILDCONFIG.gn:429)
> //
> //out.gn/x64.release/gen/
> From //:internal_config
> (Added by //BUILD.gn:3358)
> //
> //out.gn/x64.release/gen/
>
> On Tuesday, 19 November 2019 00:57:59 UTC+8, Seth Brenith wrote:
>>
>> Weird, I don't see that behavior on my machine. Could you please run gn
>> desc . //:torque_base --blame in your GN build directory and reply with
>> the include_dirs portion of the output from that command? Mine looks
>> like this (which doesn't include any libc++ dirs):
>>
>> include_dirs
>> From //build/config/compiler:default_include_dirs
>> (Added by //build/config/BUILDCONFIG.gn:429)
>> //
>> //out.gn/msvc/gen/
>> From //:internal_config
>> (Added by //BUILD.gn:3355)
>> //
>> //out.gn/msvc/gen/
>>
>>
>> On Sunday, November 17, 2019 at 9:10:23 PM UTC-8, Ben Ernst wrote:
>>>
>>> Thank you Seth for your detailed information.
>>>
>>> When I attempt an MSVC build with "use_custom_libcxx=false", the build
>>> of "torque_base" still includes
>>> "-I../../buildtools/third_party/libc++/trunk/include" in the include path,
>>> which results in other errors.
>>>
>>> I'm having trouble working out where those include paths are calculated,
>>> so I can go about trying to fix it. Can anyone point me in the right
>>> direction?
>>>
>>>
>>>
>>> On Sunday, 17 November 2019 00:15:53 UTC+8, Seth Brenith wrote:
>>>>
>>>> Correction: the flag name is /Zc:dllexportInlines-.
>>>>
>>>> Also, a couple of other things I should mention for completeness:
>>>> - Attempting to link with a shared library that was built with a
>>>> different toolchain is a recipe for maddening runtime errors unless that
>>>> library takes great care to export only ABI-stable things, which V8 does
>>>> not.
>>>> - The errors in your latest post were related to imported functions,
>>>> but problems building without this flag often manifest as the linker
>>>> complaining about unresolved external functions. This is because the
>>>> linker
>>>> is fine with functions being undefined if the function is never called,
>>>> but
>>>> a dllexport function needs a definition.
>>>>
>>>
--
--
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/236c5e3b-9422-4130-a118-f22d23b95633%40googlegroups.com.
[exec]
**********************************************************************
[exec] ** Visual Studio 2017 Developer Command Prompt v15.9.17
[exec] ** Copyright (c) 2017 Microsoft Corporation
[exec]
**********************************************************************
[exec] [vcvarsall.bat] Environment initialized for: 'x64'
[exec] ninja: Entering directory `out.gn/x64.release'
[exec] [1/534] CXX obj/torque_generated_initializers/console-tq-csa.obj
[exec] FAILED: obj/torque_generated_initializers/console-tq-csa.obj
[exec] ninja -t msvc -e environment.x64 -- "C:\Program Files
(x86)\Microsoft Visual
Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\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 -DENABLE_HANDLE_ZAPPING
-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 -I../.. -Igen -I../.. -Igen /Gy /FS /bigobj
/utf-8 /Zc:sizedDealloc- /wd4117 /D__DATE__= /D__TIME__= /D__TIMESTAMP__= /W4
/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 /Zi /MD
/wd4245 /wd4267 /wd4324 /wd4701 /wd4702 /wd4703 /wd4709 /wd4714 /wd4715 /wd4718
/wd4723 /wd4724 /wd4800 /O2 /Ob2 /Oy- /Zc:inline /Gw /TP /wd4577 /GR- /c
gen/torque-generated/src/builtins/console-tq-csa.cc
/Foobj/torque_generated_initializers/console-tq-csa.obj
/Fd"obj/torque_generated_initializers_cc.pdb"
[exec] C:\Program Files (x86)\Microsoft Visual
Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(616):
error C2139: 'v8::internal::Cell': an undefined class is not allowed as an
argument to compiler intrinsic type trait '__is_convertible_to'
[exec]
C:\fd22cbe1\v8\out.gn\x64.release\gen\torque-generated/class-definitions-tq.h(78):
note: see declaration of 'v8::internal::Cell'
[exec] C:\fd22cbe1\v8\src/codegen/tnode.h(239): note: see reference to
class template instantiation 'std::is_convertible<T,v8::internal::Object>'
being compiled
[exec] with
[exec] [
[exec] T=v8::internal::Cell
[exec] ]
[exec] C:\fd22cbe1\v8\src/codegen/code-stub-assembler.h(1714): note: see
reference to class template instantiation
'v8::internal::is_subtype<v8::internal::Cell,v8::internal::Cell>' being compiled
[exec] C:\fd22cbe1\v8\src/objects/objects.h(271): note: see reference to
class template instantiation
'v8::internal::TaggedImpl<v8::internal::HeapObjectReferenceType::STRONG,v8::internal::Address>'
being compiled
[exec] C:\fd22cbe1\v8\src/codegen/x64/register-x64.h(153): note: see
reference to class template instantiation
'v8::internal::RegisterBase<v8::internal::XMMRegister,16>' being compiled
[exec] C:\fd22cbe1\v8\src/codegen/x64/register-x64.h(53): note: see
reference to class template instantiation
'v8::internal::RegisterBase<v8::internal::Register,16>' being compiled