We are trying to build a docker image with ACRCloud sdk in Golang for ARM64.
We are able to build the sdk for amd 64 for linux, both on stretch and alpine flavors. But when we try building it for arm64 using both gcc and gnueabi compilers, we see:
golang:1.12 & alpine docker images using gnueabihf compiler:
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 images using gcc compiler
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,'
.
.
.
I have the latest compiled binaries for Linux you have provided here: https://github.com/acrcloud/acrcloud_sdk_golang/tree/master/linux/x86-64/acrcloud
Please advise how we can move forward. Please let me know what additional information/ logs you would need to do this.