Thanks, Jakob. A clarification: The system C++ library on Windows still 
works. We were hoping to migrate our Windows build for consistency and 
future proofing but couldn't make it happen.

That is, we could build the V8 monolith but not our embedder, seemingly due 
to some conflict between V8's libc++ and the Windows SDK somewhere deep in 
the header files.

On Tuesday, October 21, 2025 at 10:04:02 AM UTC-4 Jakob Kummerow wrote:

> On Tue, Oct 21, 2025 at 3:40 PM ClearScript Developers <
> [email protected]> wrote:
>
>> An update: We were able to get around these issues by migrating our Linux 
>> builds to the bundled C++ library.
>>
>> Support for system C++ libraries seems to be broken in 14.1, at least for 
>> Linux x64 and arm64. MacOS isn't affected but was easy to migrate, but we 
>> haven't been able to migrate our Windows build.
>>
>> Question for the V8 team: Is the removal of use_custom_libcxx imminent?
>>
>
> We inherit that flag from Chromium's build configuration, so this would be 
> a question for [email protected].
> I only just found out that it is indeed marked deprecated since 
> https://chromium-review.googlesource.com/c/chromium/src/+/5963336. M138 
> has passed, I don't know what the current plan is. The tracking bug 
> <https://issues.chromium.org/issues/372852985> doesn't look like lots of 
> activity recently.
>
> Personally I'd be fine with accepting (reasonably non-intrusive) 
> community-supported patches that keep the system-libc++ build alive for the 
> time being.
>  
>
>> On Tuesday, October 14, 2025 at 1:42:29 PM UTC-4 ClearScript Developers 
>> wrote:
>>
>>> Greetings!
>>>
>>> While building the 14.1 branch tip on Linux, we're seeing compilation 
>>> errors. Our configuration:
>>>
>>> fatal_linker_warnings = false
>>> is_cfi = false
>>> is_component_build = false
>>> is_debug = false
>>> target_cpu = "x64"
>>> use_custom_libcxx = false
>>> use_thin_lto = false
>>> v8_enable_fuzztest = false
>>> v8_enable_pointer_compression = false
>>> v8_enable_31bit_smis_on_64bit_arch = false
>>> v8_enable_temporal_support = false
>>> v8_monolithic = true
>>> v8_use_external_startup_data = false
>>> v8_target_cpu = "x64"
>>>
>>> The errors:
>>>
>>> FAILED: obj/build/modules/linux-x64/std_core/module.pcm 
>>> ../../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF 
>>> obj/build/modules/linux-x64/std_core/module.pcm.d -D_FILE_OFFSET_BITS=64 
>>> -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE 
>>> -DCR_CLANG_REVISION=\"llvmorg-21-init-16348-gbd809ffb-17\" 
>>> -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE 
>>> -D_GLIBCXX_ASSERTIONS=1 -DCR_SYSROOT_KEY=20250129T203412Z-1 -DUSE_UDEV 
>>> -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DNDEBUG -DNVALGRIND 
>>> -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_LIBCPP_BUILDING_LIBRARY -I../../.. -Igen 
>>> -fno-implicit-module-maps -fno-delete-null-pointer-checks 
>>> -fno-strict-overflow -fno-ident -fno-math-errno -fno-strict-aliasing 
>>> -fstack-protector -funwind-tables -fPIC -pthread -fcolor-diagnostics 
>>> -fmerge-all-constants -fno-sized-deallocation 
>>> -fcrash-diagnostics-dir=../../../tools/clang/crashreports -mllvm 
>>> -instcombine-lower-dbg-declare=0 -mllvm 
>>> -split-threshold-for-reg-with-hint=0 -ffp-contract=off 
>>> -Wa,--crel,--allow-experimental-crel --target=x86_64-unknown-linux-gnu 
>>> -msse3 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= 
>>> -D__TIMESTAMP__= -ffile-compilation-dir=. -no-canonical-prefixes -Xclang 
>>> -fmodule-file-home-is-cwd -ftrivial-auto-var-init=pattern -O2 
>>> -fdata-sections -ffunction-sections -fno-unique-section-names 
>>> -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene 
>>> -Wstring-conversion -Wtautological-overlap-compare -Xclang -add-plugin 
>>> -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang 
>>> check-stack-allocated -Xclang -plugin-arg-find-bad-constructs -Xclang 
>>> check-ipc -Xclang -add-plugin -Xclang raw-ptr-plugin -Xclang 
>>> -plugin-arg-raw-ptr-plugin -Xclang check-raw-ptr-to-stack-allocated -Xclang 
>>> -plugin-arg-raw-ptr-plugin -Xclang 
>>> disable-check-raw-ptr-to-stack-allocated-error -Xclang 
>>> -plugin-arg-raw-ptr-plugin -Xclang 
>>> raw-ptr-exclude-path=../../../third_party/dawn/ -Xclang 
>>> -plugin-arg-raw-ptr-plugin -Xclang 
>>> raw-ptr-exclude-path=../../../build/config/clang/chrome/test/fuzzing/webidl_fuzzing/
>>>  
>>> -fstrict-aliasing -Wundef -fPIC -Wall -Wno-unused-variable 
>>> -Wno-c++11-narrowing -Wno-unused-but-set-variable 
>>> -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi 
>>> -Wloop-analysis -Wno-unneeded-internal-declaration -Wno-cast-function-type 
>>> -Wno-thread-safety-reference-return -Wno-nontrivial-memcall -Werror 
>>> -Wno-exit-time-destructors -std=c++20 -Wno-trigraphs 
>>> -gsimple-template-names -fno-exceptions -fno-rtti 
>>> --sysroot=../../../build/linux/debian_bullseye_amd64-sysroot 
>>> -fvisibility-inlines-hidden -fbuiltin-module-map 
>>> -fmodule-map-file=gen/third_party/libc++/src/include/module.modulemap 
>>> -fmodule-map-file=../../../build/modules/linux-x64/module.modulemap 
>>> -std=c++20 -Wno-invalid-offsetof -Wenum-compare-conditional 
>>> -Wno-nullability-completeness 
>>> -fmodule-map-file=gen/third_party/libc++/src/include/module.modulemap 
>>> -fbuiltin-module-map 
>>> -fmodule-map-file=../../../build/modules/linux-x64/module.modulemap 
>>> -fmodule-file=obj/build/modules/linux-x64/_Builtin_stdarg/module.pcm 
>>> -fmodule-file=obj/build/modules/linux-x64/_Builtin_stddef/module.pcm 
>>> -fmodule-file=obj/build/modules/linux-x64/_Builtin_stdint/module.pcm 
>>> -fmodule-file=obj/build/modules/linux-x64/sys_stage1/module.pcm 
>>> -fmodule-name=std_core -c -x c++ -Xclang -emit-module 
>>> gen/third_party/libc++/src/include/module.modulemap -o 
>>> obj/build/modules/linux-x64/std_core/module.pcm
>>> While building module 'std_core':
>>> In file included from <module-includes>:1:
>>> gen/third_party/libc++/src/include/__cstddef/byte.h:12:10: fatal error: 
>>> '__config' file not found
>>>    12 | #include <__config>
>>>       |          ^~~~~~~~~~
>>> 1 error generated.
>>> [1116/3269] CXX_MODULE obj/build/modules/linux-x64/std_ctype_h/module.pcm
>>> FAILED: obj/build/modules/linux-x64/std_ctype_h/module.pcm 
>>> ../../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF 
>>> obj/build/modules/linux-x64/std_ctype_h/module.pcm.d -D_FILE_OFFSET_BITS=64 
>>> -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE 
>>> -DCR_CLANG_REVISION=\"llvmorg-21-init-16348-gbd809ffb-17\" 
>>> -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE 
>>> -D_GLIBCXX_ASSERTIONS=1 -DCR_SYSROOT_KEY=20250129T203412Z-1 -DUSE_UDEV 
>>> -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DNDEBUG -DNVALGRIND 
>>> -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_LIBCPP_BUILDING_LIBRARY -I../../.. -Igen 
>>> -fno-implicit-module-maps -fno-delete-null-pointer-checks 
>>> -fno-strict-overflow -fno-ident -fno-math-errno -fno-strict-aliasing 
>>> -fstack-protector -funwind-tables -fPIC -pthread -fcolor-diagnostics 
>>> -fmerge-all-constants -fno-sized-deallocation 
>>> -fcrash-diagnostics-dir=../../../tools/clang/crashreports -mllvm 
>>> -instcombine-lower-dbg-declare=0 -mllvm 
>>> -split-threshold-for-reg-with-hint=0 -ffp-contract=off 
>>> -Wa,--crel,--allow-experimental-crel --target=x86_64-unknown-linux-gnu 
>>> -msse3 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= 
>>> -D__TIMESTAMP__= -ffile-compilation-dir=. -no-canonical-prefixes -Xclang 
>>> -fmodule-file-home-is-cwd -ftrivial-auto-var-init=pattern -O2 
>>> -fdata-sections -ffunction-sections -fno-unique-section-names 
>>> -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene 
>>> -Wstring-conversion -Wtautological-overlap-compare -Xclang -add-plugin 
>>> -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang 
>>> check-stack-allocated -Xclang -plugin-arg-find-bad-constructs -Xclang 
>>> check-ipc -Xclang -add-plugin -Xclang raw-ptr-plugin -Xclang 
>>> -plugin-arg-raw-ptr-plugin -Xclang check-raw-ptr-to-stack-allocated -Xclang 
>>> -plugin-arg-raw-ptr-plugin -Xclang 
>>> disable-check-raw-ptr-to-stack-allocated-error -Xclang 
>>> -plugin-arg-raw-ptr-plugin -Xclang 
>>> raw-ptr-exclude-path=../../../third_party/dawn/ -Xclang 
>>> -plugin-arg-raw-ptr-plugin -Xclang 
>>> raw-ptr-exclude-path=../../../build/config/clang/chrome/test/fuzzing/webidl_fuzzing/
>>>  
>>> -fstrict-aliasing -Wundef -fPIC -Wall -Wno-unused-variable 
>>> -Wno-c++11-narrowing -Wno-unused-but-set-variable 
>>> -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi 
>>> -Wloop-analysis -Wno-unneeded-internal-declaration -Wno-cast-function-type 
>>> -Wno-thread-safety-reference-return -Wno-nontrivial-memcall -Werror 
>>> -Wno-exit-time-destructors -std=c++20 -Wno-trigraphs 
>>> -gsimple-template-names -fno-exceptions -fno-rtti 
>>> --sysroot=../../../build/linux/debian_bullseye_amd64-sysroot 
>>> -fvisibility-inlines-hidden -fbuiltin-module-map 
>>> -fmodule-map-file=gen/third_party/libc++/src/include/module.modulemap 
>>> -fmodule-map-file=../../../build/modules/linux-x64/module.modulemap 
>>> -std=c++20 -Wno-invalid-offsetof -Wenum-compare-conditional 
>>> -Wno-nullability-completeness 
>>> -fmodule-map-file=gen/third_party/libc++/src/include/module.modulemap 
>>> -fmodule-map-file=../../../build/modules/linux-x64/module.modulemap 
>>> -fbuiltin-module-map 
>>> -fmodule-file=obj/build/modules/linux-x64/_Builtin_stdarg/module.pcm 
>>> -fmodule-file=obj/build/modules/linux-x64/_Builtin_stddef/module.pcm 
>>> -fmodule-file=obj/build/modules/linux-x64/sys_stage1/module.pcm 
>>> -fmodule-name=std_ctype_h -c -x c++ -Xclang -emit-module 
>>> gen/third_party/libc++/src/include/module.modulemap -o 
>>> obj/build/modules/linux-x64/std_ctype_h/module.pcm
>>> While building module 'std_ctype_h':
>>> In file included from <module-includes>:1:
>>> gen/third_party/libc++/src/include/ctype.h:35:12: error: '__config' file 
>>> not found with <angled> include; use "quotes" instead
>>>    35 | #  include <__config>
>>>       |            ^
>>> While building module 'std_ctype_h':
>>> In file included from <module-includes>:1:
>>> In file included from gen/third_party/libc++/src/include/ctype.h:35:
>>> gen/third_party/libc++/src/include/__config:13:10: error: 
>>> '__config_site' file not found with <angled> include; use "quotes" instead
>>>    13 | #include <__config_site>
>>>       |          ^
>>> gen/third_party/libc++/src/include/__config:14:10: error: 
>>> '__configuration/abi.h' file not found with <angled> include; use "quotes" 
>>> instead
>>>    14 | #include <__configuration/abi.h>
>>>       |          ^
>>> While building module 'std_ctype_h':
>>> In file included from <module-includes>:1:
>>> In file included from gen/third_party/libc++/src/include/ctype.h:35:
>>> In file included from gen/third_party/libc++/src/include/__config:14:
>>> gen/third_party/libc++/src/include/__configuration/abi.h:13:10: fatal 
>>> error: '__config_site' file not found
>>>    13 | #include <__config_site>
>>>       |          ^~~~~~~~~~~~~~~
>>> 4 errors generated.
>>>
>>> Full log attached. Can someone suggest a solution?
>>>
>> --
>>
>

-- 
-- 
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 visit 
https://groups.google.com/d/msgid/v8-dev/48f1cc3f-022d-4e81-be7b-24ba88dd3c0en%40googlegroups.com.

Reply via email to