From fbcceb578136848638509d85fd5b915025d9f59e Mon Sep 17 00:00:00 2001 From: t8y2 <1156263951@qq.com> Date: Thu, 7 May 2026 18:30:20 +0800 Subject: [PATCH] fix: rewrite libodbc install_name so macOS app loads bundled library The binary was linking against /opt/homebrew/opt/unixodbc/lib/libodbc.2.dylib (absolute path). At runtime dyld refused to load it due to Team ID mismatch. Use install_name_tool to set @rpath/libodbc.2.dylib before building, so the linker records a relative path that resolves via Contents/Frameworks/. --- .github/workflows/release.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 56effda9b..aa43b46c2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -65,7 +65,10 @@ jobs: - name: Bundle ODBC library (macOS) if: startsWith(matrix.platform, 'macos') - run: cp "$(brew --prefix unixodbc)/lib/libodbc.2.dylib" src-tauri/ + run: | + ODBC_LIB="$(brew --prefix unixodbc)/lib/libodbc.2.dylib" + install_name_tool -id "@rpath/libodbc.2.dylib" "$ODBC_LIB" + cp "$ODBC_LIB" src-tauri/ - name: Install Apple certificate (macOS) if: startsWith(matrix.platform, 'macos')