From 9b5a6709cf9fbd9aed7c5cef6dde513201a87275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=AD=E3=83=A0=E3=83=86=E3=82=BD=E3=83=B3?= Date: Thu, 14 May 2026 22:19:42 +0900 Subject: [PATCH] =?UTF-8?q?[#46]fix=EF=BC=9AIntel=20Mac=20=E3=81=A7?= =?UTF-8?q?=E3=83=90=E3=83=83=E3=82=AF=E3=82=A8=E3=83=B3=E3=83=89=E3=81=8C?= =?UTF-8?q?=20CGO=20=E7=84=A1=E5=8A=B9=E3=83=93=E3=83=AB=E3=83=89=E3=81=AB?= =?UTF-8?q?=E3=82=88=E3=82=8A=E8=B5=B7=E5=8B=95=E5=A4=B1=E6=95=97=E3=81=99?= =?UTF-8?q?=E3=82=8B=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit mattn/go-sqlite3 は CGO 必須だが、Apple Silicon マシン上で GOOS=darwin GOARCH=amd64 go build するとクロスコンパイル扱いとなり Go が CGO_ENABLED=0 をデフォルトにしてしまっていた。結果 Intel Mac 向け バイナリは stub 状態で配布され、起動直後に "go-sqlite3 requires cgo to work" で死亡 → 「処理が予期せず終了しました」 「起動に失敗しました」が連続表示されていた。 scripts/build-backend.sh と .github/workflows/release.yml の macOS 向け ビルドで CGO_ENABLED=1 と CC/CXX のアーキ指定を明示し、クロス CGO ビルドが再現性高く成立するようにした。Windows/Linux の同様の明示は スコープを切り分けるため #47 に分離。 --- .github/workflows/release.yml | 8 ++++++-- scripts/build-backend.sh | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3b5c867..c35fb8b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,8 +30,12 @@ jobs: - name: Build backend (macOS) run: | cd backend - GOOS=darwin GOARCH=arm64 go build -o dist/darwin/arm64/backnote-backend ./cmd/main.go - GOOS=darwin GOARCH=amd64 go build -o dist/darwin/x64/backnote-backend ./cmd/main.go + CGO_ENABLED=1 GOOS=darwin GOARCH=arm64 \ + CC="clang -arch arm64" CXX="clang++ -arch arm64" \ + go build -o dist/darwin/arm64/backnote-backend ./cmd/main.go + CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 \ + CC="clang -arch x86_64" CXX="clang++ -arch x86_64" \ + go build -o dist/darwin/x64/backnote-backend ./cmd/main.go - name: Build frontend run: npm run build diff --git a/scripts/build-backend.sh b/scripts/build-backend.sh index 04ab857..b12fb3d 100755 --- a/scripts/build-backend.sh +++ b/scripts/build-backend.sh @@ -7,11 +7,15 @@ echo "Building Backnote backend..." # macOS arm64 echo " → darwin/arm64" -GOOS=darwin GOARCH=arm64 go build -o dist/darwin/arm64/backnote-backend ./cmd/main.go +CGO_ENABLED=1 GOOS=darwin GOARCH=arm64 \ + CC="clang -arch arm64" CXX="clang++ -arch arm64" \ + go build -o dist/darwin/arm64/backnote-backend ./cmd/main.go # macOS x64 echo " → darwin/amd64" -GOOS=darwin GOARCH=amd64 go build -o dist/darwin/x64/backnote-backend ./cmd/main.go +CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 \ + CC="clang -arch x86_64" CXX="clang++ -arch x86_64" \ + go build -o dist/darwin/x64/backnote-backend ./cmd/main.go # Windows x64 echo " → windows/amd64"