From 3973af3e63a807ad235a93396123354c35093008 Mon Sep 17 00:00:00 2001 From: David Rusu Date: Wed, 21 Jan 2026 13:11:32 +0400 Subject: [PATCH 1/5] add linux_aarch64 builds for RPI --- .github/resources/prover/Makefile | 14 ++ .github/resources/witness-generator/Makefile | 9 +- .github/workflows/build-circuits.yml | 244 +++++++++++++++++++ 3 files changed, 266 insertions(+), 1 deletion(-) diff --git a/.github/resources/prover/Makefile b/.github/resources/prover/Makefile index 25f9bb7..4ed8db3 100644 --- a/.github/resources/prover/Makefile +++ b/.github/resources/prover/Makefile @@ -23,6 +23,20 @@ host_linux_x86_64_static: -DCMAKE_PREFIX_PATH=depends/gmp/package && \ make -j$(nproc) -vvv && make install +host_linux_aarch64_static: + rm -rf build_prover && mkdir build_prover && cd build_prover && \ + cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../package \ + -DCMAKE_SYSTEM_NAME=Linux \ + -DCMAKE_SYSTEM_PROCESSOR=aarch64 \ + -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc \ + -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \ + -DCMAKE_EXE_LINKER_FLAGS="-static -static-libstdc++ -static-libgcc -no-pie" \ + -DUSE_ASM=OFF \ + -DCMAKE_PREFIX_PATH=depends/gmp/package_aarch64 && \ + make -j$(nproc) -vvv && make install + host_windows_x86_64_static: rm -rf build_prover && mkdir build_prover && cd build_prover && \ cmake .. \ diff --git a/.github/resources/witness-generator/Makefile b/.github/resources/witness-generator/Makefile index 57cf692..6b2cc58 100644 --- a/.github/resources/witness-generator/Makefile +++ b/.github/resources/witness-generator/Makefile @@ -13,12 +13,19 @@ OBJS := $(SRCS:.cpp=.o) DEPS_HPP := circom.hpp calcwit.hpp fr.hpp BIN := $(PROJECT) -# ---- Linux ---- +# ---- Linux x86_64 ---- linux: CXXFLAGS=$(CXXFLAGS_COMMON) linux: LDFLAGS=-static linux: LDLIBS=-lgmp linux: $(BIN) +# ---- Linux aarch64 (cross-compile) ---- +linux_aarch64: CXX=aarch64-linux-gnu-g++ +linux_aarch64: CXXFLAGS=$(CXXFLAGS_COMMON) +linux_aarch64: LDFLAGS=-static +linux_aarch64: LDLIBS=-lgmp +linux_aarch64: $(BIN) + # ---- macOS ---- macos: CXXFLAGS=$(CXXFLAGS_COMMON) -I/opt/homebrew/include -include gmp_patch.hpp macos: LDFLAGS=-Wl,-search_paths_first -Wl,-dead_strip diff --git a/.github/workflows/build-circuits.yml b/.github/workflows/build-circuits.yml index 2d3fc6e..2bf43ce 100644 --- a/.github/workflows/build-circuits.yml +++ b/.github/workflows/build-circuits.yml @@ -377,6 +377,247 @@ jobs: name: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz path: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz + build-linux-arm64: + name: Build Linux ARM64 Binaries (Cross-compile for RPI5) + runs-on: ubuntu-latest + needs: + - setup + - generate-proving-keys + env: + VERSION: ${{ needs.setup.outputs.version }} + OS: linux_aarch64 + ARCH: aarch64 + steps: + - name: Install Rust Toolchain + uses: actions-rust-lang/setup-rust-toolchain@fb51252c7ba57d633bc668f941da052e410add48 + with: + toolchain: stable + cache: false + + - name: Install Circom + run: | + git clone https://github.com/iden3/circom.git + cd circom + RUSTFLAGS="-A dead_code" cargo build --release + RUSTFLAGS="-A dead_code" cargo install --path circom + circom --version + + - name: Checkout + uses: actions/checkout@8edcb1bdb4e267140fa742c62e395cd74f332709 + + - name: Initialise Submodules + run: git submodule update --init --recursive + + - name: Setup Dependencies + working-directory: rapidsnark + run: sudo apt update -y + + - name: Install Dependencies [Prover] + run: sudo apt install -y build-essential cmake libgmp-dev libsodium-dev nasm curl m4 + + - name: Install Dependencies [Cross-compilation] + run: sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libgmp-dev:arm64 || sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu + + - name: Install Dependencies [Witness Generator] + run: sudo apt install nlohmann-json3-dev + + - name: Replace Prover Makefile + run: cp .github/resources/prover/Makefile rapidsnark/Makefile + + - name: Cache GMP Archive + id: cache-gmp + uses: actions/cache@v4 + with: + path: rapidsnark/depends/gmp-6.2.1.tar.xz + key: gmp-6.2.1 + + - name: Download GMP Archive + if: steps.cache-gmp.outputs.cache-hit != 'true' + working-directory: rapidsnark/depends + run: | + echo "Downloading GMP archive..." + curl -L -o gmp-6.2.1.tar.xz https://ftpmirror.gnu.org/gmp/gmp-6.2.1.tar.xz + echo "Download complete." + + - name: Compile Prover and Verifier + working-directory: rapidsnark + run: | + ./build_gmp.sh aarch64 + make host_linux_aarch64_static + + - name: Bundle Rapidsnark Prover + env: + BINARY_NAME: prover + BUNDLE_NAME: prover-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }} + RAPIDSNARK_DIR: rapidsnark/package + run: | + BUNDLE_DIR="${BUNDLE_NAME}/${BINARY_NAME}" + mkdir -p "$BUNDLE_DIR" + + mv "${RAPIDSNARK_DIR}"/bin/${BINARY_NAME} "$BUNDLE_DIR/" + + tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}" + + - name: Bundle Rapidsnark Verifier + env: + BINARY_NAME: verifier + BUNDLE_NAME: verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }} + RAPIDSNARK_DIR: rapidsnark/package + run: | + BUNDLE_DIR="${BUNDLE_NAME}/${BINARY_NAME}" + mkdir -p "$BUNDLE_DIR" + + mv "${RAPIDSNARK_DIR}"/bin/${BINARY_NAME} "$BUNDLE_DIR/" + + tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}" + + - name: Upload Rapidsnark Prover + uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8 + with: + name: prover-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz + path: prover-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz + + - name: Upload Rapidsnark Verifier + uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8 + with: + name: verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz + path: verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz + + - name: Compile PoL Witness Generator + uses: ./.github/actions/compile-witness-generator + with: + circuit-name-display: "PoL" + circuit-name-binary: "pol" + circuit-path: "mantle/pol.circom" + version: ${{ env.VERSION }} + os: ${{ env.OS }} + arch: ${{ env.ARCH }} + + - name: Compile PoQ Witness Generator + uses: ./.github/actions/compile-witness-generator + with: + circuit-name-display: "PoQ" + circuit-name-binary: "poq" + circuit-path: "blend/poq.circom" + version: ${{ env.VERSION }} + os: ${{ env.OS }} + arch: ${{ env.ARCH }} + + - name: Compile ZKSign Witness Generator + uses: ./.github/actions/compile-witness-generator + with: + circuit-name-display: "ZKSign" + circuit-name-binary: "zksign" + circuit-path: "mantle/signature.circom" + version: ${{ env.VERSION }} + os: ${{ env.OS }} + arch: ${{ env.ARCH }} + + - name: Compile PoC Witness Generator + uses: ./.github/actions/compile-witness-generator + with: + circuit-name-display: "PoC" + circuit-name-binary: "poc" + circuit-path: "mantle/poc.circom" + version: ${{ env.VERSION }} + os: ${{ env.OS }} + arch: ${{ env.ARCH }} + + - name: Download PoL Witness Generator + uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b + with: + name: pol-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }} + path: witness-generators/pol-artifact + + - name: Download PoQ Witness Generator + uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b + with: + name: poq-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }} + path: witness-generators/poq-artifact + + - name: Download ZKSign Witness Generator + uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b + with: + name: zksign-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }} + path: witness-generators/zksign-artifact + + - name: Download PoC Witness Generator + uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b + with: + name: poc-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }} + path: witness-generators/poc-artifact + + - name: Download All Proving Key Artifacts + uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b + with: + pattern: "*-proving-key" + path: proving-keys/ + + - name: Download Prover Artifact + uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b + with: + name: prover-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz + path: prover-artifact/ + + - name: Download Verifier Artifact + uses: actions/download-artifact@448e3f862ab3ef47aa50ff917776823c9946035b + with: + name: verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz + path: verifier-artifact/ + + - name: Create Unified Release Bundle + env: + BUNDLE_NAME: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }} + run: | + # Create the bundle directory structure + mkdir -p "${BUNDLE_NAME}"/{pol,poq,zksign,poc} + + # Create VERSION file + echo "${{ env.VERSION }}" > "${BUNDLE_NAME}/VERSION" + + # Extract and add prover and verifier binaries + tar -xzf prover-artifact/prover-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz -C . + tar -xzf verifier-artifact/verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz -C . + mv prover-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}/prover/prover "${BUNDLE_NAME}/prover" + mv verifier-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}/verifier/verifier "${BUNDLE_NAME}/verifier" + chmod +x "${BUNDLE_NAME}/prover" + chmod +x "${BUNDLE_NAME}/verifier" + + # Move witness generators into their respective circuit directories + mv witness-generators/pol-artifact/pol "${BUNDLE_NAME}/pol/witness_generator" + mv witness-generators/pol-artifact/pol.dat "${BUNDLE_NAME}/pol/witness_generator.dat" + mv witness-generators/poq-artifact/poq "${BUNDLE_NAME}/poq/witness_generator" + mv witness-generators/poq-artifact/poq.dat "${BUNDLE_NAME}/poq/witness_generator.dat" + mv witness-generators/zksign-artifact/signature "${BUNDLE_NAME}/zksign/witness_generator" + mv witness-generators/zksign-artifact/signature.dat "${BUNDLE_NAME}/zksign/witness_generator.dat" + mv witness-generators/poc-artifact/poc "${BUNDLE_NAME}/poc/witness_generator" + mv witness-generators/poc-artifact/poc.dat "${BUNDLE_NAME}/poc/witness_generator.dat" + + # Restore execute permissions on witness generators + chmod +x "${BUNDLE_NAME}/pol/witness_generator" + chmod +x "${BUNDLE_NAME}/poq/witness_generator" + chmod +x "${BUNDLE_NAME}/zksign/witness_generator" + chmod +x "${BUNDLE_NAME}/poc/witness_generator" + + # Copy proving keys and verification keys into each circuit directory + cp proving-keys/pol-proving-key/pol.zkey "${BUNDLE_NAME}/pol/proving_key.zkey" + cp proving-keys/pol-proving-key/pol_verification_key.json "${BUNDLE_NAME}/pol/verification_key.json" + cp proving-keys/poq-proving-key/poq.zkey "${BUNDLE_NAME}/poq/proving_key.zkey" + cp proving-keys/poq-proving-key/poq_verification_key.json "${BUNDLE_NAME}/poq/verification_key.json" + cp proving-keys/zksign-proving-key/zksign.zkey "${BUNDLE_NAME}/zksign/proving_key.zkey" + cp proving-keys/zksign-proving-key/zksign_verification_key.json "${BUNDLE_NAME}/zksign/verification_key.json" + cp proving-keys/poc-proving-key/poc.zkey "${BUNDLE_NAME}/poc/proving_key.zkey" + cp proving-keys/poc-proving-key/poc_verification_key.json "${BUNDLE_NAME}/poc/verification_key.json" + + # Create tarball + tar -czf "${BUNDLE_NAME}.tar.gz" "${BUNDLE_NAME}" + + - name: Upload Unified Release Bundle + uses: actions/upload-artifact@de65e23aa2b7e23d713bb51fbfcb6d502f8667d8 + with: + name: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz + path: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz + build-windows: name: Build Windows Binaries (Native) runs-on: windows-latest @@ -891,6 +1132,7 @@ jobs: - setup - generate-proving-keys - build-linux + - build-linux-arm64 - build-windows - build-macos env: @@ -937,6 +1179,8 @@ jobs: platform: - os: linux arch: x86_64 + - os: linux_aarch64 + arch: aarch64 - os: macos arch: aarch64 - os: windows From b5caecaadcb4e8f8989def680f1c74299427de0a Mon Sep 17 00:00:00 2001 From: David Rusu Date: Wed, 21 Jan 2026 13:41:02 +0400 Subject: [PATCH 2/5] fix GMP compilation problems for RPI --- .github/resources/prover/Makefile | 2 +- .github/resources/witness-generator/Makefile | 6 ++++-- .github/workflows/build-circuits.yml | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/resources/prover/Makefile b/.github/resources/prover/Makefile index 4ed8db3..53bd4d3 100644 --- a/.github/resources/prover/Makefile +++ b/.github/resources/prover/Makefile @@ -34,7 +34,7 @@ host_linux_aarch64_static: -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \ -DCMAKE_EXE_LINKER_FLAGS="-static -static-libstdc++ -static-libgcc -no-pie" \ -DUSE_ASM=OFF \ - -DCMAKE_PREFIX_PATH=depends/gmp/package_aarch64 && \ + -DGMP_PREFIX=depends/gmp/package_aarch64 && \ make -j$(nproc) -vvv && make install host_windows_x86_64_static: diff --git a/.github/resources/witness-generator/Makefile b/.github/resources/witness-generator/Makefile index 6b2cc58..6c028d3 100644 --- a/.github/resources/witness-generator/Makefile +++ b/.github/resources/witness-generator/Makefile @@ -20,9 +20,11 @@ linux: LDLIBS=-lgmp linux: $(BIN) # ---- Linux aarch64 (cross-compile) ---- +# Uses GMP built in rapidsnark/depends/gmp/package_aarch64 +# Path is relative from circuit_cpp directory (e.g., mantle/pol_cpp/) linux_aarch64: CXX=aarch64-linux-gnu-g++ -linux_aarch64: CXXFLAGS=$(CXXFLAGS_COMMON) -linux_aarch64: LDFLAGS=-static +linux_aarch64: CXXFLAGS=$(CXXFLAGS_COMMON) -I../../rapidsnark/depends/gmp/package_aarch64/include +linux_aarch64: LDFLAGS=-static -L../../rapidsnark/depends/gmp/package_aarch64/lib linux_aarch64: LDLIBS=-lgmp linux_aarch64: $(BIN) diff --git a/.github/workflows/build-circuits.yml b/.github/workflows/build-circuits.yml index 2bf43ce..07781e2 100644 --- a/.github/workflows/build-circuits.yml +++ b/.github/workflows/build-circuits.yml @@ -416,7 +416,7 @@ jobs: run: sudo apt install -y build-essential cmake libgmp-dev libsodium-dev nasm curl m4 - name: Install Dependencies [Cross-compilation] - run: sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libgmp-dev:arm64 || sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu + run: sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu - name: Install Dependencies [Witness Generator] run: sudo apt install nlohmann-json3-dev From df27d2781a871f0312eef6995a99d835ee854e74 Mon Sep 17 00:00:00 2001 From: David Rusu Date: Wed, 21 Jan 2026 13:56:55 +0400 Subject: [PATCH 3/5] another attempt at GMP fixes --- .github/resources/prover/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/resources/prover/Makefile b/.github/resources/prover/Makefile index 53bd4d3..8a27689 100644 --- a/.github/resources/prover/Makefile +++ b/.github/resources/prover/Makefile @@ -26,6 +26,7 @@ host_linux_x86_64_static: host_linux_aarch64_static: rm -rf build_prover && mkdir build_prover && cd build_prover && \ cmake .. \ + -DTARGET_PLATFORM=aarch64 \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=../package \ -DCMAKE_SYSTEM_NAME=Linux \ @@ -33,8 +34,7 @@ host_linux_aarch64_static: -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc \ -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \ -DCMAKE_EXE_LINKER_FLAGS="-static -static-libstdc++ -static-libgcc -no-pie" \ - -DUSE_ASM=OFF \ - -DGMP_PREFIX=depends/gmp/package_aarch64 && \ + -DUSE_ASM=OFF && \ make -j$(nproc) -vvv && make install host_windows_x86_64_static: From 7ebee1bf89daeb460d5c19cd6a65d878ea899237 Mon Sep 17 00:00:00 2001 From: David Rusu Date: Wed, 21 Jan 2026 14:30:15 +0400 Subject: [PATCH 4/5] use arm64 runner to generate native builds --- .github/resources/prover/Makefile | 9 +++------ .github/resources/witness-generator/Makefile | 11 +---------- .github/workflows/build-circuits.yml | 19 +++++++++---------- 3 files changed, 13 insertions(+), 26 deletions(-) diff --git a/.github/resources/prover/Makefile b/.github/resources/prover/Makefile index 8a27689..7a5831d 100644 --- a/.github/resources/prover/Makefile +++ b/.github/resources/prover/Makefile @@ -23,18 +23,15 @@ host_linux_x86_64_static: -DCMAKE_PREFIX_PATH=depends/gmp/package && \ make -j$(nproc) -vvv && make install -host_linux_aarch64_static: +host_linux_arm64_static: rm -rf build_prover && mkdir build_prover && cd build_prover && \ cmake .. \ -DTARGET_PLATFORM=aarch64 \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=../package \ - -DCMAKE_SYSTEM_NAME=Linux \ - -DCMAKE_SYSTEM_PROCESSOR=aarch64 \ - -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc \ - -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \ -DCMAKE_EXE_LINKER_FLAGS="-static -static-libstdc++ -static-libgcc -no-pie" \ - -DUSE_ASM=OFF && \ + -DOpenMP_gomp_LIBRARY=$(LIBGOMP_A) \ + -DCMAKE_PREFIX_PATH=depends/gmp/package && \ make -j$(nproc) -vvv && make install host_windows_x86_64_static: diff --git a/.github/resources/witness-generator/Makefile b/.github/resources/witness-generator/Makefile index 6c028d3..22cd736 100644 --- a/.github/resources/witness-generator/Makefile +++ b/.github/resources/witness-generator/Makefile @@ -13,21 +13,12 @@ OBJS := $(SRCS:.cpp=.o) DEPS_HPP := circom.hpp calcwit.hpp fr.hpp BIN := $(PROJECT) -# ---- Linux x86_64 ---- +# ---- Linux (x86_64 and aarch64) ---- linux: CXXFLAGS=$(CXXFLAGS_COMMON) linux: LDFLAGS=-static linux: LDLIBS=-lgmp linux: $(BIN) -# ---- Linux aarch64 (cross-compile) ---- -# Uses GMP built in rapidsnark/depends/gmp/package_aarch64 -# Path is relative from circuit_cpp directory (e.g., mantle/pol_cpp/) -linux_aarch64: CXX=aarch64-linux-gnu-g++ -linux_aarch64: CXXFLAGS=$(CXXFLAGS_COMMON) -I../../rapidsnark/depends/gmp/package_aarch64/include -linux_aarch64: LDFLAGS=-static -L../../rapidsnark/depends/gmp/package_aarch64/lib -linux_aarch64: LDLIBS=-lgmp -linux_aarch64: $(BIN) - # ---- macOS ---- macos: CXXFLAGS=$(CXXFLAGS_COMMON) -I/opt/homebrew/include -include gmp_patch.hpp macos: LDFLAGS=-Wl,-search_paths_first -Wl,-dead_strip diff --git a/.github/workflows/build-circuits.yml b/.github/workflows/build-circuits.yml index 07781e2..a51675f 100644 --- a/.github/workflows/build-circuits.yml +++ b/.github/workflows/build-circuits.yml @@ -378,14 +378,14 @@ jobs: path: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz build-linux-arm64: - name: Build Linux ARM64 Binaries (Cross-compile for RPI5) - runs-on: ubuntu-latest + name: Build Linux ARM64 Binaries (Native for RPI5) + runs-on: ubuntu-22.04-arm needs: - setup - generate-proving-keys env: VERSION: ${{ needs.setup.outputs.version }} - OS: linux_aarch64 + OS: linux ARCH: aarch64 steps: - name: Install Rust Toolchain @@ -415,11 +415,8 @@ jobs: - name: Install Dependencies [Prover] run: sudo apt install -y build-essential cmake libgmp-dev libsodium-dev nasm curl m4 - - name: Install Dependencies [Cross-compilation] - run: sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu - - name: Install Dependencies [Witness Generator] - run: sudo apt install nlohmann-json3-dev + run: sudo apt install -y nlohmann-json3-dev - name: Replace Prover Makefile run: cp .github/resources/prover/Makefile rapidsnark/Makefile @@ -442,8 +439,10 @@ jobs: - name: Compile Prover and Verifier working-directory: rapidsnark run: | - ./build_gmp.sh aarch64 - make host_linux_aarch64_static + ./build_gmp.sh host + # Create symlink for TARGET_PLATFORM=aarch64 to find GMP + ln -s package depends/gmp/package_aarch64 + make host_linux_arm64_static - name: Bundle Rapidsnark Prover env: @@ -1179,7 +1178,7 @@ jobs: platform: - os: linux arch: x86_64 - - os: linux_aarch64 + - os: linux arch: aarch64 - os: macos arch: aarch64 From b79e0ff754af10bf876d12a1b64fad0b718ae01a Mon Sep 17 00:00:00 2001 From: David Rusu Date: Wed, 21 Jan 2026 15:45:54 +0400 Subject: [PATCH 5/5] rename arm64 to aarch64 --- .github/resources/prover/Makefile | 2 +- .github/workflows/build-circuits.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/resources/prover/Makefile b/.github/resources/prover/Makefile index 7a5831d..5c0409d 100644 --- a/.github/resources/prover/Makefile +++ b/.github/resources/prover/Makefile @@ -23,7 +23,7 @@ host_linux_x86_64_static: -DCMAKE_PREFIX_PATH=depends/gmp/package && \ make -j$(nproc) -vvv && make install -host_linux_arm64_static: +host_linux_aarch64_static: rm -rf build_prover && mkdir build_prover && cd build_prover && \ cmake .. \ -DTARGET_PLATFORM=aarch64 \ diff --git a/.github/workflows/build-circuits.yml b/.github/workflows/build-circuits.yml index a51675f..1e29b6f 100644 --- a/.github/workflows/build-circuits.yml +++ b/.github/workflows/build-circuits.yml @@ -377,8 +377,8 @@ jobs: name: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz path: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz - build-linux-arm64: - name: Build Linux ARM64 Binaries (Native for RPI5) + build-linux-aarch64: + name: Build Linux aarch64 Binaries (Native for RPI5) runs-on: ubuntu-22.04-arm needs: - setup @@ -442,7 +442,7 @@ jobs: ./build_gmp.sh host # Create symlink for TARGET_PLATFORM=aarch64 to find GMP ln -s package depends/gmp/package_aarch64 - make host_linux_arm64_static + make host_linux_aarch64_static - name: Bundle Rapidsnark Prover env: @@ -1131,7 +1131,7 @@ jobs: - setup - generate-proving-keys - build-linux - - build-linux-arm64 + - build-linux-aarch64 - build-windows - build-macos env: