Update dependencies (#4595)

Use the most recent versions in ConanCenter.

* Due to a bug in Clang 16, you may get a compile error:
  "call to 'async_teardown' is ambiguous"
  * A compiler flag workaround is documented in `BUILD.md`.
* At this time, building this with gcc 13 may require editing some files
  in `.conan/data`
  * A patch to support gcc13 may be added in a later PR.

---------

Co-authored-by: Scott Schurr <scott@ripple.com>
This commit is contained in:
John Freeman
2026-02-19 16:07:31 +09:00
committed by tequ
parent b2b126b51a
commit 2ab5d729cc
8 changed files with 28 additions and 12 deletions

View File

@@ -203,7 +203,7 @@ can't build earlier Boost versions.
`$OUTPUT_FOLDER/build/generators/conan_toolchain.cmake`.
Single-config generators:
```
cmake -DCMAKE_TOOLCHAIN_FILE:FILEPATH=build/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release ..
```
@@ -234,7 +234,7 @@ can't build earlier Boost versions.
```
Multi-config generators:
```
cmake --build . --config Release
cmake --build . --config Debug
@@ -306,6 +306,18 @@ tools.build:cxxflags=["-Wno-missing-template-arg-list-after-template-kw"]
```
### call to 'async_teardown' is ambiguous
If you are compiling with an early version of Clang 16, then you might hit
a [regression][6] when compiling C++20 that manifests as an [error in a Boost
header][7]. You can workaround it by adding this preprocessor definition:
```
conan profile update 'env.CXXFLAGS="-DBOOST_ASIO_DISABLE_CONCEPTS"' default
conan profile update 'conf.tools.build:cxxflags+=["-DBOOST_ASIO_DISABLE_CONCEPTS"]' default
```
### recompile with -fPIC
If you get a linker error suggesting that you recompile Boost with
@@ -457,6 +469,8 @@ but it is more convenient to put them in a [profile][profile].
[1]: https://github.com/conan-io/conan-center-index/issues/13168
[5]: https://en.wikipedia.org/wiki/Unity_build
[6]: https://github.com/boostorg/beast/issues/2648
[7]: https://github.com/boostorg/beast/issues/2661
[build_type]: https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html
[runtime]: https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html
[toolchain]: https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html

View File

@@ -27,9 +27,9 @@ class Xrpl(ConanFile):
requires = [
'date/3.0.3',
'libarchive/3.6.0',
'lz4/1.9.4',
'grpc/1.50.1',
'libarchive/3.6.2',
'lz4/1.9.4',
'nudb/2.0.8',
'openssl/3.6.0',
'protobuf/3.21.12',
@@ -52,6 +52,7 @@ class Xrpl(ConanFile):
'tool_requires_b2': False,
'cassandra-cpp-driver/*:shared': False,
'cassandra-cpp-driver/*:use_atomic': None,
'date/*:header_only': False,
'grpc/*:shared': False,
'grpc/*:secure': True,
@@ -119,12 +120,12 @@ class Xrpl(ConanFile):
if self.options.with_wasmedge:
self.requires('wasmedge/0.11.2@xahaud/stable')
if self.options.jemalloc:
self.requires('jemalloc/5.2.1')
self.requires('jemalloc/5.3.0')
if self.options.reporting:
self.requires('cassandra-cpp-driver/2.15.3')
self.requires('libpq/13.6')
self.requires('libpq/14.7')
if self.options.rocksdb:
self.requires('rocksdb/6.27.3')
self.requires('rocksdb/6.29.5')
exports_sources = (
'CMakeLists.txt', 'Builds/*', 'bin/getRippledInfo', 'src/*', 'cfg/*'

View File

@@ -28,6 +28,7 @@
#include <optional>
#include <string>
#include <vector>
namespace ripple {

View File

@@ -30,6 +30,8 @@
#include <ripple/consensus/LedgerTiming.h>
#include <ripple/json/json_writer.h>
#include <boost/logic/tribool.hpp>
#include <chrono>
#include <deque>
#include <optional>
#include <sstream>

View File

@@ -30,8 +30,6 @@ namespace Json {
// Implementation of class Reader
// ////////////////////////////////
constexpr unsigned Reader::nest_limit;
static std::string
codePointToUTF8(unsigned int cp)
{

View File

@@ -46,7 +46,7 @@ getFeatureValue(
return {};
boost::smatch match;
boost::regex rx(feature + "=([^;\\s]+)");
auto const value = std::string(header->value());
std::string const value = std::string(header->value());
if (boost::regex_search(value, match, rx))
return {match[1]};
return {};

View File

@@ -248,7 +248,7 @@ build_map(boost::beast::http::fields const& h)
std::map<std::string, std::string> c;
for (auto const& e : h)
{
auto key(std::string(e.name_string()));
std::string key(std::string(e.name_string()));
std::transform(key.begin(), key.end(), key.begin(), [](auto kc) {
return std::tolower(static_cast<unsigned char>(kc));
});

View File

@@ -575,7 +575,7 @@ private:
if (ec)
break;
auto path = req.target(); //.to_string();
std::string path = req.target(); //.to_string();
res.insert("Server", "TrustedPublisherServer");
res.version(req.version());
res.keep_alive(req.keep_alive());