Merge pull request #197 from delibae/fix/linux-icu-disable-renaming

fix: add U_DISABLE_RENAMING + ICU diagnostic on Linux
This commit is contained in:
Hanjin Bae 2026-06-10 00:12:05 +09:00 committed by GitHub
commit 42f20163f1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -506,19 +506,24 @@ jobs:
ZOTERO_CONSUMER_KEY: ${{ secrets.ZOTERO_CONSUMER_KEY }}
ZOTERO_CONSUMER_SECRET: ${{ secrets.ZOTERO_CONSUMER_SECRET }}
TECTONIC_DEP_BACKEND: vcpkg
CXXFLAGS: "-std=c++17"
CFLAGS: ""
CXXFLAGS: "-std=c++17 -DU_DISABLE_RENAMING=1"
CFLAGS: "-DU_DISABLE_RENAMING=1"
# mold handles both graphite2 hidden symbols and Rust version scripts.
# Prepend vcpkg lib path so ICU/harfbuzz from vcpkg are found before
# system versions (prevents ICU version suffix mismatch).
RUSTFLAGS: "-C link-arg=-fuse-ld=mold -C link-arg=-L${{ env.VCPKG_ROOT }}/installed/x64-linux/lib"
run: |
# Diagnose: check if vcpkg ICU has versioned or unversioned symbols
echo "=== vcpkg ICU symbols ==="
nm -D $HOME/vcpkg/installed/x64-linux/lib/libicuuc.so 2>/dev/null | grep "ucnv_fromUChars" | head -3 || echo "NOT FOUND"
echo "=== vcpkg ICU renaming config ==="
grep -E "U_DISABLE_RENAMING|U_ICU_VERSION_SUFFIX" $HOME/vcpkg/installed/x64-linux/include/unicode/uvernum.h $HOME/vcpkg/installed/x64-linux/include/unicode/uconfig.h 2>/dev/null | head -5 || echo "NOT FOUND"
# Move system ICU .so out of the way so linker finds vcpkg's ICU first.
# System ICU (v70/74) has different version suffix than vcpkg ICU (v78).
sudo mkdir -p /usr/lib/x86_64-linux-gnu/icu-system-backup
sudo mv /usr/lib/x86_64-linux-gnu/libicu*.so* /usr/lib/x86_64-linux-gnu/icu-system-backup/ 2>/dev/null || true
pnpm --filter @claude-prism/desktop tauri build --target x86_64-unknown-linux-gnu
# Restore system ICU (needed for other tools)
# Restore system ICU
sudo mv /usr/lib/x86_64-linux-gnu/icu-system-backup/libicu*.so* /usr/lib/x86_64-linux-gnu/ 2>/dev/null || true
- name: Collect updater artifacts