-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Update minimum compiler requirements in BUILD.md #4700
Conversation
Update the minimum compiler requirements for building the codebase. I'm quite confident that GCC 11 is required, but I'm unsure if older versions of apple-clang is compatible with the latest revisions to the codebase. I'm using apple clang v14.0.3, let me know if any lower version also works with the rippled codebase.
BUILD.md
Outdated
| Clang | 13 | | ||
| Apple Clang | 13.1.6 | | ||
| Apple Clang | 14.0.3 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
using enum
is supported in Clang 13. Let's not change that minimum requirement until we know for sure that we need it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok. but is there any disadvantage to upgrading directly to 14? since the code has been working with clang 14, I assumed we could upgrade. But I don't have strong opinions about this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's ok for a builder to upgrade. We don't want to tell people they have to upgrade if there is no reason to upgrade. These are minimum required versions.
Update minimum compiler requirement for building the codebase. The feature "using enum" is required. This feature was introduced in C++20. Updating the C++ compiler to version 11 or later fixes this error: ``` Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/protocol/impl/STAmount.cpp.o /build/ripple/binary/src/ripple/protocol/impl/STAmount.cpp: In lambda function: /build/ripple/binary/src/ripple/protocol/impl/STAmount.cpp:1577:15: error: expected nested-name-specifier before 'enum' 1577 | using enum Number::rounding_mode; | ^~~~ ``` Fix XRPLF#4693
Update the minimum compiler requirements for building the codebase.
I'm quite confident that GCC 11 is required, but I'm unsure if older versions of apple-clang is compatible with the latest revisions to the codebase. I'm using apple clang v14.0.3, let me know if any lower version also works with the rippled codebase.
Fix #4693
High Level Overview of Change
Context of Change
Type of Change