Installing docker on a Raspberry Pi 2B V1.1 fails as a consequence.
Created attachment 874123 [details] emerge.log
Created attachment 874124 [details] build.log
Created attachment 874125 [details] info
Created attachment 874126 [details] env
WORK=/var/tmp/portage/app-containers/runc-1.1.9/temp/go-build1532601617 + go-md2man -in runc-checkpoint.8.md -out ./man8/runc-checkpoint.8 man/md2man-all.sh: line 26: /usr/bin/go-md2man: cannot execute binary file: Exec format error make: *** [Makefile:94: man] Error 126 make: *** Waiting for unfinished jobs.... container/list mkdir -p $WORK/b091/
Appears that /usr/bin/go-md2man is broken. What does file /usr/bin/go-md2man say?
$ file /usr/bin/go-md2man /usr/bin/go-md2man: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=ZiKZ6U7LOxMmKArFXJnj/5JgUJyonWQh5t2rLpIVp/FVPw1xW6UPzcuJWYQeTB/778iIWMhxptaICBPk2t-, with debug_info, not stripped Though I am on 32-bit. (Unsurprisingly, disabling distcc also gives same result)
Isn't the file format (after dobin) QA checked for the architecture, like the ldflags for libs? Would seem like a reasonable thing to do to me. Recompiling dev-go/go-md2man... gives: /usr/lib/go/pkg/tool/linux_arm/link: running x86_64-pc-linux-gnu-gcc failed: exec: "x86_64-pc-linux-gnu-gcc": executable file not found in $PATH Recompiling dev-lang/go now w/o distcc just to be sure.
Fixing go-md2man did not solve the issue. The actual issue is: cgo: C compiler "x86_64-pc-linux-gnu-gcc" not found: exec: "x86_64-pc-linux-gnu-gcc": executable file not found in $PATH (cf. go-md2man issue)
I used this workaround for now, ugly, but at least seems to get it compiled: /usr/bin/ $ ln -s armv7a-unknown-linux-gnueabihf-gcc x86_64-pc-linux-gnu-gcc