|
16 | 16 |
|
17 | 17 | jobs: |
18 | 18 | build-all: |
19 | | - runs-on: ubuntu-22.04 |
| 19 | + runs-on: ${{ matrix.rid == 'osx-x64' && 'macos-13' || matrix.rid == 'osx-arm64' && 'macos-15' || 'ubuntu-22.04' }} |
20 | 20 | strategy: |
21 | 21 | matrix: |
22 | 22 | include: |
@@ -81,20 +81,46 @@ jobs: |
81 | 81 | fi |
82 | 82 |
|
83 | 83 | ls -l nuget |
84 | | -
|
85 | | - - name: Patch RPATH for paddle_inference_c.so(linux only) |
86 | | - if: ${{ matrix.rid == 'linux-x64' || matrix.rid == 'linux-arm64' }} |
| 84 | + |
| 85 | + - name: Patch RPATH / install-name for Paddle |
| 86 | + shell: bash |
87 | 87 | run: | |
88 | | - echo "Current RPATH for libpaddle_inference_c.so" |
89 | | - patchelf --print-rpath nuget/libpaddle_inference_c.so |
90 | | -
|
91 | | - echo "Patching RPATH for libpaddle_inference_c.so" |
92 | | - patchelf --set-rpath '$ORIGIN' nuget/libpaddle_inference_c.so |
93 | | -
|
94 | | - echo "RPATH set to '$ORIGIN' for libpaddle_inference_c.so" |
95 | | - patchelf --print-rpath nuget/libpaddle_inference_c.so |
96 | | -
|
97 | | - echo "RPATH patched successfully." |
| 88 | + set -e |
| 89 | + echo "RID=${{ matrix.rid }}" |
| 90 | + |
| 91 | + case "${{ matrix.rid }}" in |
| 92 | + |
| 93 | + # ---------- Linux (x86_64 / aarch64) ---------- |
| 94 | + linux-*) |
| 95 | + echo "Before:" |
| 96 | + patchelf --print-rpath nuget/libpaddle_inference_c.so || true |
| 97 | + |
| 98 | + patchelf --set-rpath '$ORIGIN' nuget/libpaddle_inference_c.so |
| 99 | + |
| 100 | + echo "After :" |
| 101 | + patchelf --print-rpath nuget/libpaddle_inference_c.so |
| 102 | + ;; |
| 103 | + |
| 104 | + # ---------- macOS (x86_64 / arm64) ---------- |
| 105 | + osx-*) |
| 106 | + dylib=nuget/libpaddle_inference_c.dylib |
| 107 | + |
| 108 | + echo "Before:" |
| 109 | + otool -l "$dylib" | grep -A2 LC_RPATH || true |
| 110 | + |
| 111 | + install_name_tool -id @rpath/$(basename "$dylib") "$dylib" |
| 112 | + install_name_tool -add_rpath @loader_path "$dylib" 2>/dev/null || true |
| 113 | + |
| 114 | + echo "After :" |
| 115 | + otool -l "$dylib" | grep -A2 LC_RPATH |
| 116 | + ;; |
| 117 | + |
| 118 | + *) |
| 119 | + echo "no rpath patch needed for ${{ matrix.rid }}" |
| 120 | + ;; |
| 121 | + esac |
| 122 | + |
| 123 | + echo "RPATH / LC_RPATH patched successfully." |
98 | 124 |
|
99 | 125 | - name: Build NuGet package |
100 | 126 | run: | |
|
0 commit comments