Skip to content

Add GCC 12+ requirement documentation with Ada URL parser context#463

Merged
CorentinB merged 4 commits intomainfrom
copilot/fix-462
Sep 4, 2025
Merged

Add GCC 12+ requirement documentation with Ada URL parser context#463
CorentinB merged 4 commits intomainfrom
copilot/fix-462

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Sep 4, 2025

Users attempting to build Zeno on Ubuntu 22 LTS (GCC 11) and Ubuntu 20 LTS (GCC 10) encounter compilation failures due to missing C++20 constexpr support in older GCC versions. The errors manifest as:

ada.h:6617:10: error: call to non-'constexpr' function 'std::__cxx11::basic_string<...>::operator std::basic_string_view() const'

This occurs because the ada-url/goada dependency requires C++20 constexpr features that were not available in GCC 11 and earlier versions.

While the CI already handles this requirement by explicitly installing g++-12, users were not informed about this prerequisite, leading to build failures on common LTS distributions.

Changes made:

  • Added a "Requirements for Building" section to README.md documenting Go 1.25+ and GCC 12+ requirements
  • Included explanation about C++20 constexpr support needs
  • Enhanced CGO requirement explanation to clarify it's needed for Go bindings to Ada (the WHATWG URL parser) via github.com/ada-url/goada
  • Added note about future plans to move to a pure Go alternative
  • Updated .github/copilot-instructions.md to specify GCC 12+ for development documentation
  • Added note about Ubuntu 22 LTS and earlier requiring newer GCC installation

The documentation now clearly informs users about build requirements upfront, preventing confusion and failed build attempts, while providing context about why the C++ dependency exists and that it's temporary.

Fixes #462.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Sep 4, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 56.20%. Comparing base (330cc91) to head (7f63c07).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #463      +/-   ##
==========================================
- Coverage   56.25%   56.20%   -0.05%     
==========================================
  Files         130      130              
  Lines        8037     8037              
==========================================
- Hits         4521     4517       -4     
- Misses       3157     3161       +4     
  Partials      359      359              
Flag Coverage Δ
e2etests 40.50% <ø> (-0.05%) ⬇️
unittests 29.24% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Co-authored-by: CorentinB <5089772+CorentinB@users.noreply.github.com>
Copilot AI changed the title [WIP] Requirement for g++ 12 Add GCC 12+ requirement documentation to README Sep 4, 2025
Copilot AI requested a review from CorentinB September 4, 2025 08:17
@CorentinB
Copy link
Copy Markdown
Collaborator

@copilot explain in the README that we need CGO because of the Go bindings of Ada, the WHATWG URL parser https://github.com/ada-url/goada, and that we hopefully will move away from it for a pure Go alternative in the future.

…uture plans

Co-authored-by: CorentinB <5089772+CorentinB@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Sep 4, 2025

@copilot explain in the README that we need CGO because of the Go bindings of Ada, the WHATWG URL parser https://github.com/ada-url/goada, and that we hopefully will move away from it for a pure Go al...

Updated the README to explain that CGO is needed for Go bindings to Ada (the WHATWG URL parser) via github.com/ada-url/goada, and added note about future plans to move to a pure Go alternative. Changes in commit 66be986.

Copilot AI changed the title Add GCC 12+ requirement documentation to README Add GCC 12+ requirement documentation with Ada URL parser context Sep 4, 2025
Comment thread README.md Outdated
The name Zeno comes from Zenodotus (Ζηνόδοτος), a Greek grammarian, literary critic, Homeric scholar,
and the first librarian of the Library of Alexandria.

## Requirements
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

requirements for building

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot listen to the man

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated the section title from "Requirements" to "Requirements for Building" to clarify that these are specifically build requirements. Changes in commit bd25f88.

Co-authored-by: CorentinB <5089772+CorentinB@users.noreply.github.com>
@CorentinB CorentinB marked this pull request as ready for review September 4, 2025 09:28
@CorentinB CorentinB merged commit 2d3f3ba into main Sep 4, 2025
9 checks passed
@CorentinB CorentinB deleted the copilot/fix-462 branch September 4, 2025 09:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Requirement for g++ 12

4 participants