Instead of hunting down the issue I set: v8_enable_webassembly=false That got rid of the above undefined symbol issues. If you need WASM then I think it is something generating libc++ specific code (ie: std::__Cr::atomic<bool>) since the MS c++ lib doesn't use "__Cr" namespace. Not 100% sure of this since I got tired of chasing it down and just took the sledgehammer to WASM.
BTW, I am build V8 12.8.374.21 (from tag). Hope this helps. Laters, SLDR (Stephen L. De Rudder) On Monday, January 29, 2024 at 7:48:31 AM UTC-6 boi...@gmail.com wrote: > Chris > I myself gave up on DLL version many years ago after many further years of > significant pain. The DLL configuration is consistently broken. The team is > very responsive, and problems are fixed quickly, but something else quickly > breaks soon after. I migrated to the "monolith" build, and I isolate calls > to V8 to a single one of my own DLLs. This has been a sustainable approach > for me. > Ben > > > > On Wed, 24 Jan 2024 at 10:07, 'Andreas Beil' via v8-users < > v8-u...@googlegroups.com> wrote: > >> Hi Chris, >> i observe the same problem now for a while and did not manage to solve it. >> But what i observed: The 'monolith' configuration ( >> *is_component_build=false*) works. >> >> Chris Hillery schrieb am Freitag, 19. Januar 2024 um 12:50:06 UTC+1: >> >>> I should mention that I've tried building v8 12.1.285.26; 12.2.247; as >>> well as whatever "fetch v8" brings me, all with the same error. However in >>> the past, I've built v8 11.6.189.8 with the same gn configuration options >>> successfully. >>> >>> Ceej >>> aka Chris Hillery >>> >>> On Friday, January 19, 2024 at 3:46:00 AM UTC-8 Chris Hillery wrote: >>> >>>> I've been trying everything I can think of to build a DLL version of v8 >>>> which does not depend on the v8-supplied libc++ . As I understand it, this >>>> is the necessary configuration if I want to link v8 into a larger >>>> application that is built with other C++ libraries which use a different >>>> C++ standard library - in my case, an application built using MSVC. >>>> >>>> It seems that I need is_component_build=true to generate .dlls, and >>>> use_custom_libcxx=false to avoid building/linking against v8's libc++. >>>> However every time I've tried this, seemingly regardless of what other >>>> settings I enable or disable or whatever else I try (many many things at >>>> this point), it fails linking abseil: >>>> >>>> [734/2344] LINK(DLL) third_party_abseil-cpp_absl.dll >>>> third_party_abseil-cpp_absl.dll.lib third_party_abseil-cpp_absl.dll.pdb >>>> FAILED: third_party_abseil-cpp_absl.dll >>>> third_party_abseil-cpp_absl.dll.lib third_party_abseil-cpp_absl.dll.pdb >>>> ..\..\third_party\llvm-build\Release+Asserts\bin\lld-link.exe >>>> "/OUT:./third_party_abseil-cpp_absl.dll" /nologo >>>> -libpath:..\..\third_party\llvm-build\Release+Asserts\lib\clang\18\lib\windows >>>> >>>> "-libpath:../../../../../../../Program Files/Microsoft Visual >>>> Studio/2022/Professional/VC/Tools/MSVC/14.36.32532/ATLMFC/lib/x64" >>>> "-libpath:../../../../../../../Program Files/Microsoft Visual >>>> Studio/2022/Professional/VC/Tools/MSVC/14.36.32532/lib/x64" >>>> "-libpath:../../../../../../../Program Files (x86)/Windows >>>> Kits/NETFXSDK/4.8/lib/um/x64" "-libpath:../../../../../../../Program Files >>>> (x86)/Windows Kits/10/lib/10.0.22621.0/ucrt/x64" >>>> "-libpath:../../../../../../../Program Files (x86)/Windows >>>> Kits/10/lib/10.0.22621.0/um/x64" /MACHINE:X64 >>>> "/IMPLIB:./third_party_abseil-cpp_absl.dll.lib" /DLL >>>> "/PDB:./third_party_abseil-cpp_absl.dll.pdb" >>>> "@./third_party_abseil-cpp_absl.dll.rsp" >>>> lld-link: error: <root>: undefined symbol: public: __cdecl >>>> absl::Condition::Condition<struct std::__Cr::atomic<bool> const>(bool >>>> (__cdecl *)(struct std::__Cr::atomic<bool> const *), struct >>>> std::__Cr::atomic<bool> const *) >>>> lld-link: error: <root>: undefined symbol: public: __cdecl >>>> absl::container_internal::internal_compressed_tuple::Storage<struct >>>> absl::cord_internal::CordRep **, 1, 0>::Storage<struct >>>> absl::cord_internal::CordRep **, 1, 0><std::nullptr_t>(struct >>>> std::__Cr::in_place_t, std::nullptr_t &&) >>>> lld-link: error: <root>: undefined symbol: public: __cdecl >>>> absl::container_internal::internal_compressed_tuple::Storage<class >>>> absl::LogSink **, 1, 0>::Storage<class absl::LogSink **, 1, >>>> 0><std::nullptr_t>(struct std::__Cr::in_place_t, std::nullptr_t &&) >>>> lld-link: error: <root>: undefined symbol: public: __cdecl >>>> absl::container_internal::internal_compressed_tuple::Storage<struct >>>> absl::status_internal::Payload *, 1, 0>::Storage<struct >>>> absl::status_internal::Payload *, 1, 0><std::nullptr_t>(struct >>>> std::__Cr::in_place_t, std::nullptr_t &&) >>>> lld-link: error: <root>: undefined symbol: public: __cdecl >>>> std::__Cr::__compressed_pair<class >>>> absl::time_internal::cctz::time_zone::Impl const ***, class >>>> std::__Cr::allocator<class absl::time_internal::cctz::time_zone::Impl >>>> const >>>> **> &>::__compressed_pair<class absl::time_internal::cctz::time_zone::Impl >>>> const ***, class std::__Cr::allocator<class >>>> absl::time_internal::cctz::time_zone::Impl const **> &><std::nullptr_t, >>>> class std::__Cr::allocator<class >>>> absl::time_internal::cctz::time_zone::Impl >>>> const **> &>(std::nullptr_t &&, class std::__Cr::allocator<class >>>> absl::time_internal::cctz::time_zone::Impl const **> &) >>>> >>>> ...and quite a lot of similar errors. >>>> >>>> I have MSVC 2022 Professional installed, with Windows 11 SDK >>>> (10.0.22621.0) installed along with the Debugging Tools, as well as the >>>> ATL >>>> and MFC components. >>>> >>>> Can anyone help me get past this issue, or even just explain what the >>>> enormous error message means? >>>> >>>> Thanks, >>>> Ceej >>>> aka Chris Hillery >>>> >>> -- >> -- >> v8-users mailing list >> v8-u...@googlegroups.com >> http://groups.google.com/group/v8-users >> --- >> You received this message because you are subscribed to the Google Groups >> "v8-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to v8-users+u...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/v8-users/dda35890-2e2c-4e9f-8b57-e86966ba2ad4n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/v8-users/dda35890-2e2c-4e9f-8b57-e86966ba2ad4n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-users/b263df81-0242-4f1b-a406-a2ac8c1e3c87n%40googlegroups.com.