Repository navigation
Build broken on Windows (VS2019) #126
Copy link
Copy link
Closed
Description
https://ci.nodejs.org/job/node-compile-windows/30296/nodes=win-vs2019-x86/console
10:57:55 mksnapshot.obj : error LNK2019: unresolved external symbol "public: static bool __cdecl v8::internal::BaseShape<class v8::internal::Handle<class v8::internal::Object> >::IsKey(class v8::internal::ReadOnlyRoots,class v8::internal::Object)" (?IsKey@?$BaseShape@V?$Handle@VObject@internal@v8@@@internal@v8@@@internal@v8@@SA_NVReadOnlyRoots@23@VObject@23@@Z) referenced in function "public: static bool __cdecl v8::internal::HashTable<class v8::internal::EphemeronHashTable,class v8::internal::EphemeronHashTableShape>::IsKey(class v8::internal::ReadOnlyRoots,class v8::internal::Object)" (?IsKey@?$HashTable@VEphemeronHashTable@internal@v8@@VEphemeronHashTableShape@23@@internal@v8@@SA_NVReadOnlyRoots@23@VObject@23@@Z) [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\mksnapshot.vcxproj]
10:57:55 snapshot-empty.obj : error LNK2001: unresolved external symbol "public: static bool __cdecl v8::internal::BaseShape<class v8::internal::Handle<class v8::internal::Object> >::IsKey(class v8::internal::ReadOnlyRoots,class v8::internal::Object)" (?IsKey@?$BaseShape@V?$Handle@VObject@internal@v8@@@internal@v8@@@internal@v8@@SA_NVReadOnlyRoots@23@VObject@23@@Z) [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\mksnapshot.vcxproj]
10:57:55 mksnapshot.obj : error LNK2019: unresolved external symbol "public: static bool __cdecl v8::internal::BaseShape<class v8::internal::Handle<class v8::internal::Name> >::IsKey(class v8::internal::ReadOnlyRoots,class v8::internal::Object)" (?IsKey@?$BaseShape@V?$Handle@VName@internal@v8@@@internal@v8@@@internal@v8@@SA_NVReadOnlyRoots@23@VObject@23@@Z) referenced in function "public: static bool __cdecl v8::internal::HashTable<class v8::internal::NameDictionary,class v8::internal::NameDictionaryShape>::IsKey(class v8::internal::ReadOnlyRoots,class v8::internal::Object)" (?IsKey@?$HashTable@VNameDictionary@internal@v8@@VNameDictionaryShape@23@@internal@v8@@SA_NVReadOnlyRoots@23@VObject@23@@Z) [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\mksnapshot.vcxproj]
10:57:55 snapshot-empty.obj : error LNK2001: unresolved external symbol "public: static bool __cdecl v8::internal::BaseShape<class v8::internal::Handle<class v8::internal::Name> >::IsKey(class v8::internal::ReadOnlyRoots,class v8::internal::Object)" (?IsKey@?$BaseShape@V?$Handle@VName@internal@v8@@@internal@v8@@@internal@v8@@SA_NVReadOnlyRoots@23@VObject@23@@Z) [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\mksnapshot.vcxproj]
10:57:55 mksnapshot.obj : error LNK2019: unresolved external symbol "public: static bool __cdecl v8::internal::GlobalDictionaryShape::IsKey(class v8::internal::ReadOnlyRoots,class v8::internal::Object)" (?IsKey@GlobalDictionaryShape@internal@v8@@SA_NVReadOnlyRoots@23@VObject@23@@Z) referenced in function "public: static bool __cdecl v8::internal::HashTable<class v8::internal::GlobalDictionary,class v8::internal::GlobalDictionaryShape>::IsKey(class v8::internal::ReadOnlyRoots,class v8::internal::Object)" (?IsKey@?$HashTable@VGlobalDictionary@internal@v8@@VGlobalDictionaryShape@23@@internal@v8@@SA_NVReadOnlyRoots@23@VObject@23@@Z) [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\mksnapshot.vcxproj]
10:57:55 snapshot-empty.obj : error LNK2001: unresolved external symbol "public: static bool __cdecl v8::internal::GlobalDictionaryShape::IsKey(class v8::internal::ReadOnlyRoots,class v8::internal::Object)" (?IsKey@GlobalDictionaryShape@internal@v8@@SA_NVReadOnlyRoots@23@VObject@23@@Z) [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\mksnapshot.vcxproj]
10:57:55 ..\..\out\Release\mksnapshot.exe : fatal error LNK1120: 3 unresolved externals [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\mksnapshot.vcxproj]
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
[-]Build broken on Windows[/-][+]Build broken on Windows (VS2019)[/+]targos commentedon Dec 10, 2019
/cc @nodejs/platform-windows
gengjiawen commentedon Jan 15, 2020
Also you can see the error from github action.
Log from: https://github.com/nodejs/node-v8/runs/388526007
gengjiawen commentedon Jan 15, 2020
Looks like path generated not right (target
v8-initializer).Compatibility issue with node-gyp ? cc @nodejs/node-gyp
richardlau commentedon Jan 15, 2020
node-gyp isn't used to build Node.js. It's possible there's an issue with gyp but it's not failing on the current master.
gengjiawen commentedon Jan 16, 2020
Which part in
gyphandles include directive, looks like a path format problem.richardlau commentedon Jan 16, 2020
Aren't those #include directives written out by torque?
gengjiawen commentedon Jan 16, 2020
Looks like not the root cause, Node.js master branch with same path.
gengjiawen commentedon Jan 16, 2020
Another possible cause (right panel is current repo) :

gengjiawen commentedon Jan 16, 2020
If we remove the
$quoteinIncludevalue , another build issue will occurtargos commentedon Jan 16, 2020
I can probably handle the unresolved symbols. I did that in the past (it's about inline methods that should be moved from
.hto-inl.h)Now we need to find out what put those quotes and how to prevent that.
targos commentedon Jan 16, 2020
Thanks @gengjiawen for your help on this
richardlau commentedon Jan 17, 2020
I think there should at least be a space between
..\..\deps\v8\src\torque\runtime-support.hand". @targos Looks like there's a missing comma at the end of this linenode-v8/tools/v8_gypfiles/v8.gyp
Line 284 in be1fee9
richardlau commentedon Jan 17, 2020
Let's see if fixing the missing comma gets the build further along: #136
richardlau commentedon Jan 17, 2020
Looks like it fixed the quote issue and gets to the same unresolved symbols.
targos commentedon Jan 17, 2020
Building on my computer to fix the unresolved symbols.
targos commentedon Jan 17, 2020
Well, I cannot reproduce the errors on my PC (VS 2019). Node builds fine now...
targos commentedon Jan 17, 2020
Actually, VS2019 is fixed 🎉
https://ci.nodejs.org/job/node-compile-windows/31309/