Skip to content

Commit e7703d1

Browse files
authored
Merge pull request #159 from bedroge/2025b_rust191
use Rust 1.91.1 instead of 1.88.0 for maturin 1.9.1 in 2025b toolchain
2 parents 003ca45 + 29d84fe commit e7703d1

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

eb_hooks.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,6 @@ def is_gcccore_1220_based(**kwargs):
151151
)
152152

153153

154-
155154
def get_cuda_version(ec, check_deps=True, check_builddeps=True):
156155
"""
157156
Returns the CUDA version that this EasyConfig (ec) uses as a (build)dependency.
@@ -632,6 +631,24 @@ def parse_hook_qt5_check_qtwebengine_disable(ec, eprefix):
632631
raise EasyBuildError("Qt5-specific hook triggered for non-Qt5 easyconfig?!")
633632

634633

634+
def parse_hook_maturin(ec, eprefix):
635+
"""
636+
Replace build dependency on Rust 1.88.0 by 1.91.1,
637+
as 1.88.0 causes segmentation faults on A64FX.
638+
cfr. https://github.com/EESSI/software-layer/pull/1357
639+
"""
640+
if ec.name == 'maturin':
641+
if ec.version == '1.9.1':
642+
orig_rust = ('Rust', '1.88.0')
643+
new_rust = ('Rust', '1.91.1')
644+
if orig_rust in ec['builddependencies']:
645+
rust_index = ec['builddependencies'].index(orig_rust)
646+
ec['builddependencies'][rust_index] = new_rust
647+
print_msg(f"Replaced {orig_rust} build dependency by {new_rust} for {ec.name} {ec.version}")
648+
else:
649+
raise EasyBuildError("maturin-specific hook triggered for non-maturin easyconfig?!")
650+
651+
635652
def parse_hook_ucx_eprefix(ec, eprefix):
636653
"""Make UCX aware of compatibility layer via additional configuration options."""
637654
if ec.name == 'UCX':
@@ -1818,6 +1835,7 @@ def post_easyblock_hook(self, *args, **kwargs):
18181835
'fontconfig': parse_hook_fontconfig_add_fonts,
18191836
'FreeImage': parse_hook_freeimage_aarch64,
18201837
'grpcio': parse_hook_grpcio_zlib,
1838+
'maturin': parse_hook_maturin,
18211839
'Mesa': parse_hook_mesa_use_llvm_minimal,
18221840
'OpenBLAS': parse_hook_openblas_relax_lapack_tests_num_errors,
18231841
'pybind11': parse_hook_pybind11_replace_catch2,

0 commit comments

Comments
 (0)