diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f5df2fa95f53..f670f0424fa1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,9 +25,14 @@ jobs: with: go-version: "1.23" check-latest: true + - name: install aarch64-gcc + if: matrix.go-arch == 'arm64' + run: sudo apt-get install gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu - name: Get rocksdb version + if: matrix.go-arch == 'amd64' run: ./.github/scripts/get-rocksdb-version.sh - name: Fix permissions for cache + if: matrix.go-arch == 'amd64' run: sudo chown $(whoami) /usr/local/lib /usr/local/include - name: Restore rocksdb libraries cache id: cache-rocksdb @@ -47,7 +52,7 @@ jobs: ################### #### Build App #### ################### - - name: Build v2 + - name: Build run: GOARCH=${{ matrix.go-arch }} COSMOS_BUILD_OPTIONS=v2 make build - name: Build with rocksdb backend if: matrix.go-arch == 'amd64' diff --git a/scripts/build/build.mk b/scripts/build/build.mk index e05e253ac7c2..a271e5625c90 100644 --- a/scripts/build/build.mk +++ b/scripts/build/build.mk @@ -109,7 +109,7 @@ ifeq (debug,$(findstring debug,$(COSMOS_BUILD_OPTIONS))) BUILD_FLAGS += -gcflags "all=-N -l" endif -#? all: Run tools build +#? all: Run tools build all: build @@ -127,7 +127,10 @@ build-linux-arm64: GOOS=linux GOARCH=arm64 LEDGER_ENABLED=false $(MAKE) build $(BUILD_TARGETS): go.sum $(BUILDDIR)/ - cd ${CURRENT_DIR}/${SIMAPP} && go $@ -mod=readonly $(BUILD_FLAGS) $(BUILD_ARGS) ./... + cd ${CURRENT_DIR}/${SIMAPP} && \ + CC=$(shell if [ "$(shell go env GOARCH)" = "arm64" ]; then echo "aarch64-linux-gnu-gcc"; else echo "gcc"; fi) \ + CGO_ENABLED=1 \ + go $@ -mod=readonly $(BUILD_FLAGS) $(BUILD_ARGS) ./... $(BUILDDIR)/: mkdir -p $(BUILDDIR)/