Skip to content

Commit a2ada6d

Browse files
committed
fix: cross compile on aarch64
Signed-off-by: usamoi <[email protected]>
1 parent 41e7476 commit a2ada6d

File tree

11 files changed

+108
-104
lines changed

11 files changed

+108
-104
lines changed

.cargo/config.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,13 @@ rustdocflags = ["--document-private-items"]
44
[target.'cfg(target_os="macos")']
55
# Postgres symbols won't be available until runtime
66
rustflags = ["-Clink-arg=-Wl,-undefined,dynamic_lookup"]
7+
8+
[target.x86_64-unknown-linux-gnu]
9+
linker = "x86_64-linux-gnu-gcc"
10+
11+
[target.aarch64-unknown-linux-gnu]
12+
linker = "aarch64-linux-gnu-gcc"
13+
14+
[env]
15+
BINDGEN_EXTRA_CLANG_ARGS_x86_64_unknown_linux_gnu = "-isystem /usr/x86_64-linux-gnu/include/ -ccc-gcc-name x86_64-linux-gnu-gcc"
16+
BINDGEN_EXTRA_CLANG_ARGS_aarch64_unknown_linux_gnu = "-isystem /usr/aarch64-linux-gnu/include/ -ccc-gcc-name aarch64-linux-gnu-gcc"

.github/workflows/release.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,6 @@ jobs:
123123
cargo pgrx init --pg${{ matrix.version }}=/usr/lib/postgresql/${{ matrix.version }}/bin/pg_config
124124
if [[ "${{ matrix.arch }}" == "arm64" ]]; then
125125
sudo apt-get -y install crossbuild-essential-arm64
126-
rustup target add aarch64-unknown-linux-gnu
127126
fi
128127
- name: Build Release
129128
id: build_release
@@ -133,8 +132,6 @@ jobs:
133132
mkdir ./artifacts
134133
cargo pgrx package
135134
if [[ "${{ matrix.arch }}" == "arm64" ]]; then
136-
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
137-
export BINDGEN_EXTRA_CLANG_ARGS_aarch64_unknown_linux_gnu="-target aarch64-unknown-linux-gnu -isystem /usr/aarch64-linux-gnu/include/ -ccc-gcc-name aarch64-linux-gnu-gcc"
138135
cargo build --target aarch64-unknown-linux-gnu --release --features "pg${{ matrix.version }}" --no-default-features
139136
mv ./target/aarch64-unknown-linux-gnu/release/libvectors.so ./target/release/vectors-pg${{ matrix.version }}/usr/lib/postgresql/${{ matrix.version }}/lib/vectors.so
140137
fi

0 commit comments

Comments
 (0)