-
-
Notifications
You must be signed in to change notification settings - Fork 82
Closed
Description
Description
When compiling with either go-1.15.8 or go-1.16.0 and target of linux/arm64, xgo fails for an unknown reason.
When the target is linux/amd64, I get success. Also when I use GOARCH=arm64 go build, I also get success.
Reproducing
When compiling with xgo, I used a command something like this:
export GOVERSION=1.15.8
export GOARCH=arm64
cd $GOPATH/src/github.com/dgraph-io
git clone https://github.com/dgraph-io/badger.git
cd badger
git checkout 6c35ad6c28e0
xgo -x -go="go-$GOVERSION" \
--targets=linux/$GOARCH --tags=jemalloc \
-deps=https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2 \
--depsargs='--with-jemalloc-prefix=je_ --with-malloc-conf=background_thread:true,metadata_thp:auto --enable-prof' .Expected Results
Both linux/arm64 and linux/amd64 targets would successfully build.
Actual Results
On linux/arm64, this fails without much indication as to why it failed, other than the cp command. Below is the last several lines where it failed, and full gist of the build output.
cd /go/pkg/mod/github.com/!data!dog/zstd@v1.4.1
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x006.o -c debug.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x007.o -c divsufsort.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x008.o -c entropy_common.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x009.o -c error_private.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x010.o -c fastcover.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x011.o -c fse_compress.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x012.o -c fse_decompress.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x013.o -c hist.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x014.o -c huf_compress.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x015.o -c huf_decompress.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x016.o -c pool.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x017.o -c threading.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x018.o -c xxhash.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x019.o -c zbuff_common.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x020.o -c zbuff_compress.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x021.o -c zbuff_decompress.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x022.o -c zdict.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x023.o -c zstd_common.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x024.o -c zstd_compress.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x025.o -c zstd_ddict.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x026.o -c zstd_decompress.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x027.o -c zstd_decompress_block.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x028.o -c zstd_double_fast.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x029.o -c zstd_fast.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x030.o -c zstd_lazy.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x031.o -c zstd_ldm.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x032.o -c zstd_opt.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x033.o -c zstd_v01.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x034.o -c zstd_v02.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x035.o -c zstd_v03.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x036.o -c zstd_v04.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x037.o -c zstd_v05.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x038.o -c zstd_v06.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x039.o -c zstd_v07.c
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I $WORK/b115/ -g -O2 -o $WORK/b115/_x040.o -c zstdmt_compress.c
cd $WORK/b115
TERM='dumb' aarch64-linux-gnu-gcc-6 -I /go/pkg/mod/github.com/!data!dog/zstd@v1.4.1 -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -I ./ -g -O2 -o ./_cgo_main.o -c _cgo_main.c
cd /go/pkg/mod/github.com/!data!dog/zstd@v1.4.1
TERM='dumb' aarch64-linux-gnu-gcc-6 -I . -fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b115=/tmp/go-build -gno-record-gcc-switches -o $WORK/b115/_cgo_.o $WORK/b115/_cgo_main.o $WORK/b115/_x001.o $WORK/b115/_x002.o $WORK/b115/_x003.o $WORK/b115/_x004.o $WORK/b115/_x005.o $WORK/b115/_x006.o $WORK/b115/_x007.o $WORK/b115/_x008.o $WORK/b115/_x009.o $WORK/b115/_x010.o $WORK/b115/_x011.o $WORK/b115/_x012.o $WORK/b115/_x013.o $WORK/b115/_x014.o $WORK/b115/_x015.o $WORK/b115/_x016.o $WORK/b115/_x017.o $WORK/b115/_x018.o $WORK/b115/_x019.o $WORK/b115/_x020.o $WORK/b115/_x021.o $WORK/b115/_x022.o $WORK/b115/_x023.o $WORK/b115/_x024.o $WORK/b115/_x025.o $WORK/b115/_x026.o $WORK/b115/_x027.o $WORK/b115/_x028.o $WORK/b115/_x029.o $WORK/b115/_x030.o $WORK/b115/_x031.o $WORK/b115/_x032.o $WORK/b115/_x033.o $WORK/b115/_x034.o $WORK/b115/_x035.o $WORK/b115/_x036.o $WORK/b115/_x037.o $WORK/b115/_x038.o $WORK/b115/_x039.o $WORK/b115/_x040.o -g -O2
TERM='dumb' /usr/local/go/pkg/tool/linux_amd64/cgo -dynpackage zstd -dynimport $WORK/b115/_cgo_.o -dynout $WORK/b115/_cgo_import.go
cat >$WORK/b115/importcfg << 'EOF' # internal
# import config
packagefile bytes=/usr/local/go/pkg/linux_arm64/bytes.a
packagefile errors=/usr/local/go/pkg/linux_arm64/errors.a
packagefile fmt=/usr/local/go/pkg/linux_arm64/fmt.a
packagefile io=/usr/local/go/pkg/linux_arm64/io.a
packagefile io/ioutil=/usr/local/go/pkg/linux_arm64/io/ioutil.a
packagefile runtime=/usr/local/go/pkg/linux_arm64/runtime.a
packagefile runtime/cgo=/usr/local/go/pkg/linux_arm64/runtime/cgo.a
packagefile syscall=/usr/local/go/pkg/linux_arm64/syscall.a
EOF
/usr/local/go/pkg/tool/linux_amd64/compile -o $WORK/b115/_pkg_.a -trimpath "$WORK/b115=>" -p github.com/DataDog/zstd -buildid JI4XFzGtRaO7UHQrFSf5/JI4XFzGtRaO7UHQrFSf5 -goversion go1.15.8 -D "" -importcfg $WORK/b115/importcfg -pack -c=4 $WORK/b115/_cgo_gotypes.go $WORK/b115/errors.cgo1.go $WORK/b115/zstd.cgo1.go $WORK/b115/zstd_stream.cgo1.go $WORK/b115/_cgo_import.go
/usr/local/go/pkg/tool/linux_amd64/pack r $WORK/b115/_pkg_.a $WORK/b115/_x001.o $WORK/b115/_x002.o $WORK/b115/_x003.o $WORK/b115/_x004.o $WORK/b115/_x005.o $WORK/b115/_x006.o $WORK/b115/_x007.o $WORK/b115/_x008.o $WORK/b115/_x009.o $WORK/b115/_x010.o $WORK/b115/_x011.o $WORK/b115/_x012.o $WORK/b115/_x013.o $WORK/b115/_x014.o $WORK/b115/_x015.o $WORK/b115/_x016.o $WORK/b115/_x017.o $WORK/b115/_x018.o $WORK/b115/_x019.o $WORK/b115/_x020.o $WORK/b115/_x021.o $WORK/b115/_x022.o $WORK/b115/_x023.o $WORK/b115/_x024.o $WORK/b115/_x025.o $WORK/b115/_x026.o $WORK/b115/_x027.o $WORK/b115/_x028.o $WORK/b115/_x029.o $WORK/b115/_x030.o $WORK/b115/_x031.o $WORK/b115/_x032.o $WORK/b115/_x033.o $WORK/b115/_x034.o $WORK/b115/_x035.o $WORK/b115/_x036.o $WORK/b115/_x037.o $WORK/b115/_x038.o $WORK/b115/_x039.o $WORK/b115/_x040.o # internal
/usr/local/go/pkg/tool/linux_amd64/buildid -w $WORK/b115/_pkg_.a # internal
cp $WORK/b115/_pkg_.a /root/.cache/go-build/47/471dea8354ecb331e93244e8f87273d4804778c081e6f8431bfcebf56f1d726c-d # internal
2021/03/03 11:57:46 Failed to cross compile package: exit status 2.
Metadata
Metadata
Assignees
Labels
No labels