From 2448857bba699aeb50e596fa57fcdce3958bb338 Mon Sep 17 00:00:00 2001 From: Andrew Gouin Date: Mon, 19 Jun 2023 11:48:05 -0600 Subject: [PATCH 1/3] fix agoric for arm64 --- chains.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chains.yaml b/chains.yaml index da7a328..a7a4946 100644 --- a/chains.yaml +++ b/chains.yaml @@ -40,6 +40,8 @@ -X "github.com/cosmos/cosmos-sdk/version.BuildTags=$BUILD_TAGS" \ -X github.com/cosmos/cosmos-sdk/version.Commit=$COMMIT" + export CGO_ENABLED=1 + # Build daemon lib go build -v -mod=readonly -tags "$BUILD_TAGS" -ldflags "$COMMON_LDFLAGS" -buildmode=c-shared -o build/libagcosmosdaemon.so ./cmd/libdaemon/main.go From fa97c678b6d9661600cd4c21f2199559d2faa785 Mon Sep 17 00:00:00 2001 From: Andrew Gouin Date: Mon, 19 Jun 2023 13:28:26 -0600 Subject: [PATCH 2/3] revise --- chains.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/chains.yaml b/chains.yaml index a7a4946..650e5b6 100644 --- a/chains.yaml +++ b/chains.yaml @@ -17,6 +17,7 @@ build-env: - LEDGER_ENABLED=false - BUILD_TAGS=muslc + # using pre-build so that cargo fetch does not run pre-build: | apt update && apt install -y python3 g++ @@ -28,11 +29,10 @@ set -eux cd golang/cosmos - export GOOS=linux GOARCH=${TARGETARCH} - npm install node-addon-api --legacy-peer-deps - # make -j$(nproc) - COMMIT=$(git log -1 --format='%H') + export CGO_ENABLED=1 GOOS=linux GOARCH=${TARGETARCH} CC=${ARCH}-linux-gnu-gcc CXX=${ARCH}-linux-gnu-g++ + + COMMIT=$(git log -1 --format='%H') COMMON_LDFLAGS="-X github.com/cosmos/cosmos-sdk/version.Name=agoric \ -X github.com/cosmos/cosmos-sdk/version.AppName=agd \ @@ -40,8 +40,6 @@ -X "github.com/cosmos/cosmos-sdk/version.BuildTags=$BUILD_TAGS" \ -X github.com/cosmos/cosmos-sdk/version.Commit=$COMMIT" - export CGO_ENABLED=1 - # Build daemon lib go build -v -mod=readonly -tags "$BUILD_TAGS" -ldflags "$COMMON_LDFLAGS" -buildmode=c-shared -o build/libagcosmosdaemon.so ./cmd/libdaemon/main.go @@ -53,6 +51,8 @@ go build -v -mod=readonly -tags "$BUILD_TAGS" -ldflags "$COMMON_LDFLAGS" -o ../../bin/agd ./cmd/agd # Build node deps + export CC=${ARCH}-linux-gnu-gcc CXX=${ARCH}-linux-gnu-g++ CC_host=gcc CXX_host=g++ + npm install node-addon-api --legacy-peer-deps make node-compile-gyp cd ../../packages rm -rf ui-components web-components wallet-connection wallet web-components From bd29812af7606df2334f2ccc1d8d8a1a2c3cf0d9 Mon Sep 17 00:00:00 2001 From: Andrew Gouin Date: Mon, 19 Jun 2023 15:14:19 -0600 Subject: [PATCH 3/3] fix nodejs cross compile --- chains.yaml | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/chains.yaml b/chains.yaml index 650e5b6..c1028a8 100644 --- a/chains.yaml +++ b/chains.yaml @@ -16,9 +16,7 @@ github-repo: agoric-sdk build-env: - LEDGER_ENABLED=false - - BUILD_TAGS=muslc - # using pre-build so that cargo fetch does not run - pre-build: | + build-target: | apt update && apt install -y python3 g++ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash @@ -29,11 +27,8 @@ set -eux cd golang/cosmos - export CGO_ENABLED=1 GOOS=linux GOARCH=${TARGETARCH} CC=${ARCH}-linux-gnu-gcc CXX=${ARCH}-linux-gnu-g++ - COMMIT=$(git log -1 --format='%H') - COMMON_LDFLAGS="-X github.com/cosmos/cosmos-sdk/version.Name=agoric \ -X github.com/cosmos/cosmos-sdk/version.AppName=agd \ -X github.com/cosmos/cosmos-sdk/version.Version=$VERSION \ @@ -49,17 +44,18 @@ # Build agd go build -v -mod=readonly -tags "$BUILD_TAGS" -ldflags "$COMMON_LDFLAGS" -o ../../bin/agd ./cmd/agd - - # Build node deps - export CC=${ARCH}-linux-gnu-gcc CXX=${ARCH}-linux-gnu-g++ CC_host=gcc CXX_host=g++ + + # Build nodejs swingset kernel npm install node-addon-api --legacy-peer-deps - make node-compile-gyp + export CC_host=gcc CXX_host=g++ + GYP_DEBUG="--arch=${TARGETARCH}" make node-compile-gyp + # cp binding.gyp.in binding.gyp + # /root/.nvm/versions/node/*/lib/node_modules/npm/bin/node-gyp-bin/node-gyp configure build --arch=${TARGETARCH} cd ../../packages rm -rf ui-components web-components wallet-connection wallet web-components cd .. - npm i -g yarn - yarn - yarn build + npm_config_arch=${TARGETARCH} yarn + npm_config_arch=${TARGETARCH} yarn build # Move to final location mkdir /agoric-sdk