Hi! Efraim Flashner <efr...@flashner.co.il> skribis:
> On Sun, Mar 10, 2019 at 09:20:04PM +0100, Tobias Platen wrote: >> I ran configure on my Talos II, and got the following error message. >> >> checking for the Guix system type... powerpc64le-linux Sure but that’s the next step. My question was about the triplet you passed to ‘--target’ when cross-compiling from your Intel(?) machine, but I think I can derive the answer now: guix build --target=powerpc64le-linux-gnu … >> Guix already knows about this architecture, but building glibc will fail if >> gcc does not have the float128 datatype. Once I saw this link[1] on the guix >> mailing list, I knew how to solve the build error. >> >> For the second question I could not find an answer. >> >> [1] http://lists.busybox.net/pipermail/buildroot/2017-September/201379.html Alright. Thanks for the info. > In the off chance we ever wish to support powerpc64 big endian, I > suggest instead using (string-prefix? "powerpc64*-" target) Yes. Unfortunately, with just this extra --with-long-double-128, this: guix build sed --target=powerpc64le-linux-gnu eventually leads to a glibc build failure: --8<---------------cut here---------------start------------->8--- running configure fragment for sysdeps/unix/sysv/linux/powerpc checking whether powerpc64le-linux-gnu-gcc -g -O2 -mlong-double-128 uses IBM extended format... yes running configure fragment for sysdeps/unix/sysv/linux checking installed Linux kernel header files... 3.2.0 or later configure: WARNING: minimum kernel version reset to 3.10.0 checking for kernel header at least 3.10.0... ok running configure fragment for sysdeps/gnu running configure fragment for sysdeps/powerpc/powerpc64/le checking if powerpc64le-linux-gnu-gcc supports binary128 floating point type... no checking if the target machine is at least POWER8... yes configure: error: *** binary128 floating point type (GCC >= 6.2) is required on powerpc64le. --8<---------------cut here---------------end--------------->8--- See ‘config.log’ excerpt below. Do you happen to have an additional change needed? Thanks, Ludo’. --8<---------------cut here---------------start------------->8--- configure:6698: result: running configure fragment for sysdeps/powerpc/powerpc64/le configure:5: checking if powerpc64le-linux-gnu-gcc supports binary128 floating point type configure:31: powerpc64le-linux-gnu-gcc -c -g -O2 -Werror -mfloat128 conftest.c >&5 powerpc64le-linux-gnu-gcc: error: unrecognized command line option '-mfloat128' configure:31: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "GNU C Library" | #define PACKAGE_TARNAME "glibc" | #define PACKAGE_VERSION "(see version.h)" | #define PACKAGE_STRING "GNU C Library (see version.h)" | #define PACKAGE_BUGREPORT "https://sourceware.org/bugzilla/" | #define PACKAGE_URL "http://www.gnu.org/software/glibc/" | #define PKGVERSION "(GNU libc) " | #define REPORT_BUGS_TO "<http://www.gnu.org/software/libc/bugs.html>" | #define HAVE_TUNABLES 1 | #define HAVE_CC_NO_STACK_PROTECTOR 1 | #define STACK_PROTECTOR_LEVEL 0 | #define USE_MULTIARCH 1 | #define HAVE_ASM_SET_DIRECTIVE 1 | #define HAVE_SDATA_SECTION 1 | #define NO_CTORS_DTORS_SECTIONS 1 | #define HAVE_Z_COMBRELOC 1 | #define HAVE_CC_INHIBIT_LOOP_TO_LIBCALL 1 | #define HAVE_EHDR_START 1 | #define HAVE_BUILTIN_TRAP 1 | #define HAVE_ELFV2_ABI 1 | #define __LINUX_KERNEL_VERSION (3 * 65536 + 10 * 256 + 0) | #define __ABI_TAG_VERSION 2,6,32 | #define HAVE_INLINED_SYSCALLS 1 | /* end confdefs.h. */ | | __float128 a, b, c, d, e; | int i; | | __float128 | foobar (__float128 x) | { | a = __builtin_nansq ("0"); | b = __builtin_huge_valq (); | c = __builtin_infq (); | d = __builtin_fabsq (x); | e = __builtin_nanq ("0"); | i = __builtin_signbit (x); | return __builtin_copysignq (x, x); | } | configure:39: result: no configure:47: checking if the target machine is at least POWER8 configure:61: powerpc64le-linux-gnu-gcc -c -g -O2 conftest.c >&5 configure:61: $? = 0 configure:68: result: yes configure:75: error: *** binary128 floating point type (GCC >= 6.2) is required on powerpc64le. --8<---------------cut here---------------end--------------->8---