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/.
This commit is contained in:
t8y2 2026-05-07 18:30:20 +08:00
parent 2083f48add
commit fbcceb5781
1 changed files with 4 additions and 1 deletions

View File

@ -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')