Subject: bug#48055: Statically-linked packages fail to build on powerpc64le-linux

From: Efraim Flashner <[email-masked]>
Date: Tue, 27 Apr 2021 11:04:07 +0300

On Tue, Apr 27, 2021 at 09:27:45AM +0200, Ludovic Courtès wrote:
> As of current master (d904abe0768293b2322dbf355b6e41d94e769d78),
> statically-linked packages required by ‘bootstrap-tarballs’ fail to
> build on powerpc64le-linux.  For example:
> 
> --8<---------------cut here---------------start------------->8---
> gcc -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64 -c bzip2.c
> gcc -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64 -c bzip2recover.c
> ar cq libbz2.a blocksort.o huffman.o crctable.o randtable.o compress.o decompress.o bzlib.o
> gcc -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64 -static -o bzip2recover bzip2recover.o
> ld: /gnu/store/gwv2pylmh7qsdqdcf3kpm6g6ghfqr6z1-glibc-2.31-static/lib/../lib/libc.a(printf_fp.o): in function `__printf_fp_l':
> (.text+0x93c): undefined reference to `__unordkf2'
> ld: (.text+0x978): undefined reference to `__unordkf2'
> ld: (.text+0xd18): undefined reference to `__lekf2'
> ld: /gnu/store/gwv2pylmh7qsdqdcf3kpm6g6ghfqr6z1-glibc-2.31-static/lib/../lib/libc.a(printf_fphex.o): in function `__printf_fphex':
> (.text+0xe8): undefined reference to `__unordkf2'
> ld: (.text+0x134): undefined reference to `__unordkf2'
> ld: (.text+0x154): undefined reference to `__lekf2'
> collect2: error: ld returned 1 exit status
> make: *** [Makefile:43: bzip2recover] Error 1
> make: *** Waiting for unfinished jobs....
> command "make" "-j" "8" "PREFIX=/gnu/store/dbbzbdzyg8sbcvlan6i2zpwbld1a4b41-bzip2-1.0.8" failed with status 2
> builder for `/gnu/store/qr6wzh818417zmswip1nlf6jglyp7fh2-bzip2-1.0.8.drv' failed with exit code 1
> --8<---------------cut here---------------end--------------->8---
> 
> and:
> 
> --8<---------------cut here---------------start------------->8---
> configure flags: ("CONFIG_SHELL=/gnu/store/6ql2s2z4xnsj89zdf4zj6fch2zic0l7k-bash-minimal-5.0.16/bin/bash" "SHELL=/gnu/store/6ql2s2z4xnsj89zdf4zj6fch2zic0l7k-bash-minimal-5.0.16/bin/bash" "--prefix=/gnu/store/rjv42g8djff52z3xka8hpbzk4jjqd5w3-gawk-5.0.1" "--enable-fast-install" "--build=powerpc64le-unknown-linux-gnu" "--disable-shared" "LDFLAGS=-static")
> checking for a BSD-compatible install... ./install-sh -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... /gnu/store/x5z9z2d06w4yj4kq18i4b5q2yxg0w9dh-coreutils-8.32/bin/mkdir -p
> checking for gawk... gawk
> checking whether make sets $(MAKE)... no
> checking whether make supports nested variables... yes
> checking build system type... powerpc64le-unknown-linux-gnu
> checking host system type... powerpc64le-unknown-linux-gnu
> checking whether make supports the include directive... yes (GNU style)
> checking for gcc... gcc
> checking whether the C compiler works... no
> configure: error: in `/tmp/guix-build-gawk-5.0.1.drv-0/gawk-5.0.1':
> configure: error: C compiler cannot create executables
> See `config.log' for more details
> command "/gnu/store/6ql2s2z4xnsj89zdf4zj6fch2zic0l7k-bash-minimal-5.0.16/bin/bash" "./configure" "CONFIG_SHELL=/gnu/store/6ql2s2z4xnsj89zdf4zj6fch2zic0l7k-bash-minimal-5.0.16/bin/bash" "SHELL=/gnu/store/6ql2s2z4xnsj89zdf4zj6fch2zic0l7k-bash-minimal-5.0.16/bin/bash" "--prefix=/gnu/store/rjv42g8djff52z3xka8hpbzk4jjqd5w3-gawk-5.0.1" "--enable-fast-install" "--build=powerpc64le-unknown-linux-gnu" "--disable-shared" "LDFLAGS=-static" failed with status 77
> builder for `/gnu/store/fh64zc3gyhar0l2ndv2azrg5jv30kygl-gawk-5.0.1.drv' failed with exit code 1
> --8<---------------cut here---------------end--------------->8---
> 

What version of GCC is being used? Perhaps the gcc in make-bootstrap.scm
needs to be told to use 128-bit long longs.

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted