[14.1] compilation errors on Linux

60 views
Skip to first unread message

ClearScript Developers

unread,
Oct 14, 2025, 1:42:29 PMOct 14
to v8-dev
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?
build-x64-Release.log

ClearScript Developers

unread,
Oct 21, 2025, 9:40:21 AMOct 21
to v8-dev
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?

Jakob Kummerow

unread,
Oct 21, 2025, 10:04:02 AMOct 21
to v8-...@googlegroups.com
On Tue, Oct 21, 2025 at 3:40 PM ClearScript Developers <clearsc...@gmail.com> 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 chromi...@chromium.org.
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 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.
 
--

ClearScript Developers

unread,
Oct 21, 2025, 10:38:12 AMOct 21
to v8-dev
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.

ClearScript Developers

unread,
Oct 28, 2025, 2:44:30 PM (14 days ago) Oct 28
to v8-dev
>  An update: We were able to get around these issues by migrating our Linux builds to the bundled C++ library.

Ugh. Unfortunately, we had to go back to the system C++ library. It turns out that disabling C++ modules (use_clang_modules=false) was another way to resolve the original compilation errors.

The only other divergence from the bullseye sysroot in 14.1 is the reliance on <source_location>, which was easy to patch since the sysroot has that header in the experimental subdirectory.
Reply all
Reply to author
Forward
0 new messages