V8 Builds consistently fails on all recent versions when using the following settings. I have tried numerous versions and arguments but it seems to be impossible to build with thin_lto and official_build enabled at the same time. Is intentional by the v8 team? If not, what can be done to resolve it?
We have tried building on both linux x64 and mac M1 devices. They both have the same issue at hand. is_official_build = true use_thin_lto = true is_component_build = false is_debug = false symbol_level = 0 target_cpu ="arm64" v8_target_cpu = "arm64" v8_enable_webassembly = false chrome_pgo_phase = 0 optimize_for_size = true v8_enable_i18n_support = false v8_enable_pointer_compression = false v8_static_library = true v8_use_external_startup_data = false v8_monolithic = true ninja -C out.gn/arm64 v8_monolith 2105/2160] LINK ./mksnapshot FAILED: mksnapshot mksnapshot.dSYM/Contents/Info.plist mksnapshot.dSYM/Contents/Resources/DWARF/mksnapshot TOOL_VERSION=1715788274 ../../build/toolchain/apple/linker_driver.py -Wcrl,driver,../../third_party/llvm-build/Release+Asserts/bin/clang++ -Wcrl,strippath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip -Wcrl,installnametoolpath,../../third_party/llvm-build/Release+Asserts/bin/llvm-install-name-tool -Wcrl,dsym,. -Wcrl,dsymutilpath,../../tools/clang/dsymutil/bin/dsymutil -Werror -fuse-ld=lld -Wl,-fatal_warnings -Wl,--icf=all -Wl,--color-diagnostics -Wl,-mllvm,-instcombine-lower-dbg-declare=0 -Wl,-mllvm,-split-threshold-for-reg-with-hint=0 -Wl,-cache_path_lto,thinlto-cache -Wl,--thinlto-cache-policy=cache_size=10\%:cache_size_bytes=40g:cache_size_files=100000 -flto=thin -Wl,--thinlto-jobs=all -Wl,-mllvm,-import-instr-limit=30 -Wcrl,object_path_lto -Wl,-mllvm,-disable-auto-upgrade-debug-info -fwhole-program-vtables -Wl,--strict-auto-link -Wl,--no-call-graph-profile-sort --target=arm64-apple-macos -Wl,-mllvm,-enable-machine-outliner=never -no-canonical-prefixes -nostdlib++ -isysroot ../../../../../../../Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -mmacos-version-min=10.15 -Wl,--lto-O0 -Wl,-ObjC -Wcrl,strip,-x,-S -Wl,-dead_strip -Wl,-no_data_in_code_info -Wl,-no_function_starts -Wl,--icf=none -o "./mksnapshot" "@./mksnapshot.rsp" ld64.lld: error: undefined symbol: vtable for v8::internal::SimpleStringResource<char, v8::String::ExternalOneByteStringResource> > referenced by tmpay1bx_7e/380.arm64.lto.o:(symbol v8::internal::ExternalizeStringExtension::Externalize(v8::FunctionCallbackInfo<v8::Value> const&)+0x17c) > >>> referenced by tmpay1bx_7e/380.arm64.lto.o:(symbol v8::internal::ExternalizeStringExtension::Externalize(v8::FunctionCallbackInfo<v8::Value> const&)+0x178) > >>> referenced by tmpay1bx_7e/380.arm64.lto.o:(symbol v8::internal::SimpleStringResource<char, v8::String::ExternalOneByteStringResource>::~SimpleStringResource()+0x14) > >>> referenced 3 more times > > ld64.lld: error: undefined symbol: vtable for v8::internal::SimpleStringResource<unsigned short, v8::String::ExternalStringResource> > >>> referenced by tmpay1bx_7e/380.arm64.lto.o:(symbol v8::internal::ExternalizeStringExtension::Externalize(v8::FunctionCallbackInfo<v8::Value> const&)+0xa8) > >>> referenced by tmpay1bx_7e/380.arm64.lto.o:(symbol v8::internal::ExternalizeStringExtension::Externalize(v8::FunctionCallbackInfo<v8::Value> const&)+0xa4) > clang++: error: linker command failed with exit code 1 (use -v to see invocation) -- -- 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/b047a797-587f-47ae-9922-e3f06a80bddan%40googlegroups.com.