Skip to content
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

Merged
merged 2 commits into from
Oct 2, 2023
Merged

Conversation

ckeshava
Copy link
Collaborator

@ckeshava ckeshava commented Sep 11, 2023

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

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Tests (You added tests for code that already exists, or your new feature included in this PR)
  • Documentation Updates
  • Release

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 |
Copy link
Collaborator

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.

Copy link
Collaborator Author

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

Copy link
Collaborator

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.

@intelliot intelliot merged commit e27d24b into develop Oct 2, 2023
30 checks passed
@intelliot intelliot deleted the ckeshava-patch-1 branch October 2, 2023 23:43
sophiax851 pushed a commit to sophiax851/rippled that referenced this pull request Jun 12, 2024
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Can't build from source with gcc-10 (Version: 1.12.0)
4 participants