Go-sqlite3 - это пакет cgo .
Если вы хотите собрать свое приложение, используя go-sqlite3, вам нужен gcc.
Однако после того, как вы собрали и установили go-sqlite3 с помощью go install github.com/mattn/go-sqlite3 (для которого требуется gcc), вы можете создать свое приложение, не полагаясь на gcc в будущем.
Важно: поскольку это пакет с поддержкой CGO, вам необходимо установить переменную среды CGO_ENABLED = 1 и иметь в своем пути gcc-компиляцию .
Источник
Кросс-компиляция из Ubuntu в ARM7:
sudo apt install \
libc6-armel-cross \
libc6-dev-armel-cross \
binutils-arm-linux-gnueabi \
libncurses5-dev \
gcc-arm-linux-gnueabihf
env CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ \
CGO_ENABLED=1 GOOS=linux GOARCH=arm GOARM=7 \
go build -v
Использование образа докера:
# Install docker
$ curl -fsSL https://get.docker.com -o get-docker.sh | sudo sh -
$ sudo usermod -aG docker your-user
# Go to your project folder
$ cd your-project-folder
# Compile
$ docker run --rm \
-v /tmp/.docker/go:/go \
-v /tmp/.docker/go-build:/root/.cache/go-build \
-v $PWD:$PWD \
-w $PWD \
filipeandre/go-compiler-to-arm7:1.12 \
go build -v
Dockerfile