Как мне собрать golang acrcloud sdk для сборок ARM
Мы пытаемся создать образ докера с ACRCloud SDK в Golang для ARM64.
Мы можем собрать SDK для AMD 64 для Linux, как на стрейч, так и на альпийских вкусах. Но когда мы пытаемся собрать его для arm64 с использованием компиляторов gcc и gnueabi, мы видим:
golang: 1.12 и образы Alpine Docker с использованием компилятора gnueabihf:
Step 17/32 : RUN go build -o $GOPATH/pkg/linux_arm64/acrcloud.a
---> Running in a1150605660a
<span># runtime/cgo</span>
In file included from _cgo_export.c:4:0:
cgo-gcc-export-header-prolog:25:14: error: size of array '_check_for_64_bit_pointer_matching_GoInt' is negative
.
.
.
golang: 1.12.4-alpine3.9 & golang: 1.12 изображения с использованием компилятора gcc
span>TERM='dumb' gcc -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b059=/tmp/go-build -gno-record-gcc-switches -I $WORK/b059/ -g -O2 -Wall -Werror -o $WORK/b059/_x012.o -c gcc_arm64.S</span>
<span># runtime/cgo</span>
gcc_arm64.S: Assembler messages:
gcc_arm64.S:27: Error: no such instruction: `stp x19,x20,[sp,'
gcc_arm64.S:28: Error: no such instruction: `stp x21,x22,[sp,'
.
.
.
У меня есть последние скомпилированные двоичные файлы для Linux, которые вы предоставили здесь: https://github.com/acrcloud/acrcloud_sdk_golang/tree/master/linux/x86-64/acrcloud
Посоветуйте, пожалуйста, как мы можем двигаться вперед. Пожалуйста, дайте мне знать, какая дополнительная информация / журналы вам понадобятся для этого.