From 9e29b76fbc719ba9fca86270b906bf9f249b8f4d Mon Sep 17 00:00:00 2001 From: forbes Date: Fri, 6 Feb 2026 16:48:03 -0600 Subject: [PATCH] fix(build): pin icu >=75,<76 to prevent header/lib version mismatch The build environment resolved ICU 78 headers while the host environment had ICU 75 libraries (constrained by xerces-c, qt6-main, etc.). This caused libFreeCADBase.so to contain icu_78 mangled symbols that couldn't be found in the bundled ICU 75 libs at runtime: undefined symbol: _ZN6icu_7813UnicodeString8fromUTF8ENS_11StringPieceE Pin ICU explicitly in both recipe.yaml host deps and pixi.toml to ensure headers and libs always match. --- package/rattler-build/recipe.yaml | 1 + pixi.toml | 1 + 2 files changed, 2 insertions(+) diff --git a/package/rattler-build/recipe.yaml b/package/rattler-build/recipe.yaml index 6b52b6807f..00588983ce 100644 --- a/package/rattler-build/recipe.yaml +++ b/package/rattler-build/recipe.yaml @@ -102,6 +102,7 @@ requirements: - fmt - freetype - hdf5 + - icu>=75,<76 - lark - libboost-devel - matplotlib-base diff --git a/pixi.toml b/pixi.toml index 9bc5a7bdd5..5d33ffc770 100644 --- a/pixi.toml +++ b/pixi.toml @@ -25,6 +25,7 @@ freetype = "*" git = "*" graphviz = "*" hdf5 = "*" +icu = ">=75,<76" ifcopenshell = "*" lark = "*" libboost-devel = "*"