Skip to content

Commit 4a1dcea

Browse files
authored
fix: musl builds (#1937)
2 parents 3d438b7 + 0e8f0ce commit 4a1dcea

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

.github/workflows/release.yml

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -147,18 +147,31 @@ jobs:
147147
echo "SDKROOT=$(xcrun -sdk macosx --show-sdk-path)" >> $GITHUB_ENV
148148
echo "MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx --show-sdk-platform-version)" >> $GITHUB_ENV
149149
150-
- name: Linux ARM setup
151-
if: matrix.target == 'aarch64-unknown-linux-musl'
150+
- name: Musl setup (x86_64)
151+
if: matrix.target == 'x86_64-unknown-linux-musl'
152152
run: |
153153
sudo apt-get update -y
154-
sudo apt-get install -y gcc-aarch64-linux-gnu
155-
echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
154+
sudo apt-get install -y clang musl-tools musl-dev
155+
156+
# g++ supports musl
157+
sudo ln -s /usr/bin/g++ /usr/bin/musl-g++
158+
159+
rustup target add ${{ matrix.target }}
156160
157-
- name: Musl setup
158-
if: contains(matrix.target, 'musl')
161+
- name: Musl setup (aarch64)
162+
if: matrix.target == 'aarch64-unknown-linux-musl'
159163
run: |
160164
sudo apt-get update -y
161-
sudo apt-get install -y musl-tools musl-dev
165+
sudo apt-get install -y clang musl-tools musl-dev gcc-aarch64-linux-gnu
166+
167+
# g++ supports musl
168+
sudo ln -s /usr/bin/g++ /usr/bin/musl-g++
169+
170+
# cc-rs uses the wrong defaults for this target so we override them.
171+
echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
172+
echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
173+
echo "CC=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
174+
162175
rustup target add ${{ matrix.target }}
163176
164177
- name: Build binaries

0 commit comments

Comments
 (0)