-
Notifications
You must be signed in to change notification settings - Fork 278
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nodejs-22/22.12.0 package update #35767
Conversation
Gen AI suggestions to solve the build error: • Detected Error: Template-id related C++20 compatibility warnings leading to build failure:
• Error Category: Build Configuration • Failure Point: V8 engine compilation during Node.js build process • Root Cause Analysis: The build is failing due to C++20 compatibility issues in V8's template usage, specifically in the object-macros.h and fixed-array.h files. The compiler is treating template-id syntax in constructors as errors under C++20 standards. • Suggested Fix: - name: Configure and build
runs: |
export CXXFLAGS="${CXXFLAGS} -std=c++17"
# Rest of the existing configure and build commands... • Explanation:
• Additional Notes:
• References:
|
e792b8e
to
8910678
Compare
Gen AI suggestions to solve the build error: • Detected Error: Template-id warnings and compilation failure in V8's object macros:
• Error Category: Build Configuration/Compiler • Failure Point: V8 compilation during Node.js build process • Root Cause Analysis: • Suggested Fix: - name: Configure and build
runs: |
export CXXFLAGS="${CXXFLAGS} -std=c++17"
export CFLAGS="${CFLAGS/-Os/-O2} $common_flags"
export CXXFLAGS="${CXXFLAGS/-Os/-O2} $common_flags"
# Rest of the existing configure command... • Explanation:
• Additional Notes:
• References:
|
Signed-off-by: wolfi-bot <121097084+wolfi-bot@users.noreply.github.com>
8910678
to
9ef38ab
Compare
Gen AI suggestions to solve the build error: • Detected Error: Template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] • Error Category: Build Configuration • Failure Point: V8 engine compilation during Node.js build process • Root Cause Analysis: The error occurs because the V8 engine's code uses template constructor syntax that's no longer allowed in C++20. This is a compatibility issue between the V8 codebase and newer C++ standards. • Suggested Fix: Add the following to the "Configure and build" step to force using C++17: export CXXFLAGS="${CXXFLAGS} -std=c++17" Modified section should look like: - name: Configure and build
runs: |
# Add defines recommended in libuv readme.
common_flags="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
# Force C++17 to avoid C++20 template constructor issues
export CXXFLAGS="${CXXFLAGS} -std=c++17"
# Existing optimization flags
export CFLAGS="${CFLAGS/-Os/-O2} $common_flags"
export CXXFLAGS="${CXXFLAGS/-Os/-O2} $common_flags"
export CPPFLAGS="${CPPFLAGS/-Os/-O2} $common_flags" • Explanation: The V8 engine's codebase uses template constructor syntax that was deprecated and removed in C++20. By explicitly setting the C++ standard to C++17, we avoid these compatibility issues while maintaining functionality. This is a known issue with V8 when building with newer compiler versions that default to C++20. • Additional Notes:
• References:
|
Signed-off-by: Mark McCormick <mark.mccormick@chainguard.dev>
Gen AI suggestions to solve the build error: • Detected Error: Template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] • Error Category: Build Configuration • Failure Point: V8 compilation during Node.js build process • Root Cause Analysis: The error occurs because V8's code uses template constructor syntax that's no longer allowed in C++20. This is a compatibility issue between V8's codebase and newer C++ standards. • Suggested Fix: Add the following to the "Configure and build" step, before the python3 configure.py command: export CXXFLAGS="$CXXFLAGS -std=gnu++17" • Explanation:
• Additional Notes:
• References:
|
Signed-off-by: Debasish Biswas <debasishbsws.dev@gmail.com>
…e code, nodejs-22 already using gnu++17 Signed-off-by: Debasish Biswas <debasishbsws.dev@gmail.com>
A recent fix was added to our node-16 package as part of this PR:
Believe this should also fix the build error here, so i've ported over the change