On 22/12/17 05:30, Assaf Gordon wrote: > Follow-up on AIX/Power8 build: > > The following command did work to build 64bit binaries: > ./configure CFLAGS=-maix64 LDFLAGs=-maix64 AR="ar -X64" > > The AR is required, otherwise creating libcoreutils.a fails with: > === > ar: 0707-126 lib/vasprintf.o is not valid with the current object file mode. > Use the -X option to specify the desired object mode. > === > > With using this command compilation succeeds, and few tests fail: > FAIL: tests/misc/help-version > FAIL: tests/misc/shred-remove > FAIL: tests/misc/stdbuf > FAIL: tests/install/basic-1 > FAIL: tests/mkdir/p-3 > ERROR: tests/tail-2/pipe-f > FAIL: tests/touch/trailing-slash > Full log attached. > > > Also, the other alternative of accepting 32bit time also worked: > TIME_T_32_BIT_OK=yes ./configure > With this command, the same tests still fail (log attached). > > > I wonder if this is worth mentioning in the README > (which has two sections about building on HPUX and OSF/1).
Yes very good point. Proposed docs attached. thanks, Pádraig.
>From 3ab5e6e994ac8825209ce86b06d7bfc48177ee42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= <[email protected]> Date: Fri, 22 Dec 2017 12:33:30 +0000 Subject: [PATCH] doc: describe recent build checks for 32 bit time_t * README: Document the new handling of 32 bit time_t, with examples of how to build in 64 bit mode on AIX. Also mention that GNU make is desired on AIX 5.3 due to its mishandling of the "[" target. Suggested by Assaf Gordon. --- README | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/README b/README index 9284e7c..4987e6c 100644 --- a/README +++ b/README @@ -94,16 +94,30 @@ Here is one possible patch to correct the problem: ************************ -OSF/1 4.0d build failure +OSF/1 4.0d and AIX 5.3 build failures ------------------------ -If you use /usr/bin/make on an OSF/1 4.0d system, it will fail due -to the presence of the "[" target. That version of make appears to -treat "[" as some syntax relating to locks. To work around that, +If you use /usr/bin/make on these systems, the build will fail due +to the presence of the "[" target. OSF/1 make(1) appears to +treat "[" as some syntax relating to locks, while AIX 5.3 make(1) +appears to skip the "[" target. To work around these issues the best solution is to use GNU make. Otherwise, simply remove all mention of "[$(EXEEXT)" from src/Makefile. +************************ +32 bit time_t build failures +------------------------ + +On systems where it's determined that 64 bit time_t is supported +(indicated by touch -t <some time after 2038>), but that coreutils +would be built with a narrower time_t, the build will fail. +This can be ignored by passing TIME_T_32_BIT_OK=yes to configure, +or enabling 64 bit builds. For example GCC on AIX defaults to 32 bit. +To enable the 64 bit ABI one can use: +./configure CFLAGS=-maix64 LDFLAGs=-maix64 AR='ar -X64' + + ************************************************* "make check" failure on IRIX 6.5 and Solaris <= 9 ------------------------------------------------- -- 2.9.3
