From 4d1f72a3243b24e0924b2896e82078fc9450e3ec Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Fri, 24 Oct 2025 01:24:04 +0800 Subject: [PATCH] libexpr needs boost-1.87+ for try_emplace_and_cvisit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since 2.32, nix now needs boost 1.87 or later to build, due to using unordered::concurrent_flat_map try_emplace_and_cvisit ../src/libexpr/eval.cc: In member function ‘void nix::EvalState::evalFile(const nix::SourcePath&, nix::Value&, bool)’: ../src/libexpr/eval.cc:1096:20: error: ‘class boost::unordered::concurrent_flat_map, std::equal_to, traceable_allocator > >’ has no member named ‘try_emplace_and_cvisit’; did you mean ‘try_emplace_or_cvisit’? 1096 | fileEvalCache->try_emplace_and_cvisit( | ^~~~~~~~~~~~~~~~~~~~~~ | try_emplace_or_cvisit See https://github.com/boostorg/unordered/commit/834580b53948eec553c232dda40beefc68b3e8f9 (cherry picked from commit f594a8e11e06b9ed6b2d62efbf74e964e9c1848c) --- src/libutil/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libutil/meson.build b/src/libutil/meson.build index 8c9e1f1eb..6c76659dd 100644 --- a/src/libutil/meson.build +++ b/src/libutil/meson.build @@ -64,7 +64,7 @@ boost = dependency( 'url', ], include_type : 'system', - version : '>=1.82.0', + version : '>=1.87.0', ) # boost is a public dependency, but not a pkg-config dependency unfortunately, so we # put in `deps_other`.