Subject: Coreutils on IRIX

From: "Rainer M. Canavan" <[email-masked]>
Date: Sun, 4 Aug 2013 22:00:16 +0200 (CEST)

Hi,

I have just tried to build a current release of coreutils on IRIX. It
turns out that both 8.21 and 8.20 have build failures. I'm using the 
"native" compiler (MipsPro, 7.4.4, IRIX Version is 6.5.30).

8.21 fails when building set-mode-acl.c

source='lib/set-mode-acl.c' object='lib/set-mode-acl.o' libtool=no \
        DEPDIR=.deps depmode=none /bin/sh ./build-aux/depcomp \
        c99  -I. -I./lib  -Ilib -I./lib -Isrc -I./src -I/usr/nekoware/include   -O3 -mips4 -OPT:Olimit=0:roundoff=3 -TARG:platform=IP27:proc=r10000 -n32 -c -o lib/set-mode-acl.o lib/set-mode-acl.c
cc-1143 c99: ERROR File = /usr/include/sys/time.h, Line = 210
  Declaration is incompatible with
          "int rpl_gettimeofday(struct timeval *restrict, void *restrict)"
          (declared at line 398 of "./lib/sys/time.h").
  extern int gettimeofday(struct timeval *,...);
             ^

1 error detected in the compilation of "lib/set-mode-acl.c".

8.20 also has a time-related failure:

source='lib/gethrxtime.c' object='lib/gethrxtime.o' libtool=no \
        DEPDIR=.deps depmode=sgi /bin/sh ./build-aux/depcomp \
        c99  -I. -I./lib  -Ilib -I./lib -Isrc -I./src -I/usr/nekoware/include   -O2 -mips4 -OPT:Olimit=0:roundoff=3 -TARG:platform=IP27:proc=r10000 -n32 -c -o lib/gethrxtime.o lib/gethrxtime.c
cc-3968 c99: WARNING File = lib/xtime.h, Line = 77
  implicit conversion of a 64-bit integral type to a smaller integral type
          (potential portability problem)

    return t % XTIME_PRECISION;
           ^

cc-3968 c99: WARNING File = lib/xtime.h, Line = 84
  implicit conversion of a 64-bit integral type to a smaller integral type
          (potential portability problem)

    long int ns = t % XTIME_PRECISION;
                  ^

cc-1020 c99: ERROR File = /usr/include/internal/signal_core.h, Line = 162
  The identifier "timespec_t" is undefined.

  extern int sigtimedwait(const sigset_t *, siginfo_t *, const timespec_t *);
                                                               ^

1 error detected in the compilation of "lib/gethrxtime.c".

All prior versions (8.12, 8.15, 8.18, 8.19) I have tested have errors in 
"make check". I can provide the full test-suite.log if desired.

============================================================================
Testsuite summary for GNU coreutils 8.19
============================================================================
# TOTAL: 491
# PASS:  387
# SKIP:  94
# XFAIL: 0
# FAIL:  8
# XPASS: 0
# ERROR: 2

FAIL: misc/help-version
FAIL: rm/unread3
FAIL: misc/shuf
FAIL: misc/sort
FAIL: misc/sort-discrim
FAIL: misc/sort-month
FAIL: misc/sort-rand
FAIL: misc/sort-version

The errors are caused by non-portable code in the tests:

ERROR: cp/nfs-removal-race
+ c99 -shared -fPIC -O2 k.c -o k.so -ldl
cc-1020 c99: ERROR File = k.c, Line = 17
  The identifier "RTLD_NEXT" is undefined.

      real_stat = dlsym (RTLD_NEXT, "__xstat");
                         ^

cc-1515 c99: WARNING File = k.c, Line = 17
  A value of type "void *" cannot be assigned to an entity of type
          "int (*)(int, const char *, struct stat *)".

      real_stat = dlsym (RTLD_NEXT, "__xstat");
                ^

1 error detected in the compilation of "k.c".

ERROR: ls/getxattr-speedup
+ c99 -shared -fPIC -O2 k.c -o k.so
cc-1079 c99: ERROR File = k.c, Line = 7
  A type specifier is expected.

  static void __attribute__ ((destructor))
                             ^

cc-1137 c99: ERROR File = k.c, Line = 7
  Unnamed prototyped parameters not allowed when body is present.

  static void __attribute__ ((destructor))
              ^

cc-1129 c99: ERROR File = k.c, Line = 8
  A left brace ("{") is expected at this point.

  print_call_count (void)
  ^

regards,

rainer canavan