Conversation
d6149cf to
2c7673d
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #5478 +/- ##
=========================================
- Coverage 78.8% 78.8% -0.0%
=========================================
Files 814 814
Lines 71283 71282 -1
Branches 8349 8366 +17
=========================================
- Hits 56172 56152 -20
- Misses 15111 15130 +19 🚀 New features to boost your workflow:
|
d779cad to
b4f0deb
Compare
b4f0deb to
41bf097
Compare
28d6f45 to
fe3e732
Compare
fe3e732 to
7342bb9
Compare
external/grpc/patches/v1.50.x/003-fix-clang-template-error.patch
Outdated
Show resolved
Hide resolved
| @@ -0,0 +1,152 @@ | |||
| grpc_version: 1.54.3 | |||
There was a problem hiding this comment.
Why are we adding patches for several versions?
There was a problem hiding this comment.
Excellent question. Because that's what I happened to grab from conan-center-index. Removed the irrelevant versions in 87b6381
There was a problem hiding this comment.
That's a perfect example why I like my solution with tools.build:cxxflags way more ;)
mathbunnyru
left a comment
There was a problem hiding this comment.
I left some comments in discussions, please take a look
docs/build/environment.md
Outdated
|
|
||
| pipx install 'conan<2' | ||
| pipx ensurepath | ||
| apt install --yes gcc-${GCC_RELEASE} g++-${GCC_RELEASE} python3-pip \ |
There was a problem hiding this comment.
I'm guessing you did this in a container due to the lack of sudo but then the Python 3.11 in Debian 12 pip install conan command cries about needing --break-system-packages to install.
There was a problem hiding this comment.
Thanks, will remember to add this option.
821fff8 to
43579f8
Compare
43579f8 to
e3d3b00
Compare
9948695 to
22fee37
Compare
BUILD.md
Outdated
| ```bash | ||
| conan export --version 1.1.10 external/snappy | ||
| ``` |
There was a problem hiding this comment.
Do you know why we don't specify the version of snappy in conanfile.py? We specify a version for (I think) all of the other dependencies. My build scripts pull the required version numbers out of conanfile.py. Not having it means I have to do it by hand, which isn't a big deal, unless we change the version we need.
There was a problem hiding this comment.
That's because RocksDB specifies the version it its conanfile.py:
if self.options.with_snappy:
self.requires("snappy/1.1.10")
See https://github.com/XRPLF/conan-center-index/blob/master/recipes/rocksdb/all/conanfile.py#L79.
BUILD.md
Outdated
| **Windows** developers also must select static runtime | ||
|
|
||
| ```bash | ||
| sed -i.bak -e 's|^compiler\.runtime=.*$|compiler.runtime=static|' ~/.conan2/profiles/default | ||
| ``` |
There was a problem hiding this comment.
There's a part under "Build and Test" which includes overriding compiler.runtime for Windows. This seems to be completely unnecessary anymore. My Windows builds worked using the default instructions.
conan install .. --output-folder . --build missing --settings build_type=Release --settings compiler.runtime=MT conan install .. --output-folder . --build missing --settings build_type=Debug --settings compiler.runtime=MTd
In fact, we may be able to get rid of the bit starting with If you are using a Microsoft Visual C++ compiler, entirely.
There was a problem hiding this comment.
It seems like Conan is managing to correctly set the runtime if you set the build_type. I might have to look again (and again).
There was a problem hiding this comment.
I am wondering if we really need to use static runtime on Windows; the default is dynamic for good reasons (on Windows, shared libraries are much closer to executables than they are on Linux, and they have their own memory management - obviously within process VM space)
There was a problem hiding this comment.
We switch to dynamic runtime for Windows to support updated protobuf and grpc versions here: #5589. In that PR I've removed this section.
|
|
||
| [1]: https://github.com/thejohnfreeman/rippled-docker/blob/master/ubuntu-22.04/install.sh | ||
|
|
||
| If you use different Linux distribution, hope the instruction above can guide |
There was a problem hiding this comment.
How about we just point to the CI Dockerfiles instead of adding the instructions here? That way contributors can see what there system needs to build rippled, they can even use the images directly if they'd like, and we don't need to keep the instructions here in sync.
|
@Bronek ready to merge? |
High Level Overview of Change
Update
BUILD.mdfor Conan 2, add fixes/workarounds for Apple Clang 17, Clang 20 and CMake 4Context of Change
This also removes (from
BUILD.mdonly) workarounds for compiler versions which we no longer support e.g. Clang 15 and adds compilation flag-Wno-deprecated-declarationsto enable building with Clang 20 on Linux.Type of Change
.gitignore, formatting, dropping support for older tooling)