Hi all,

I just tried to build coreutils (6.10pre20070907 from Debian) on interix.

The first thing I encountered is the "cannot read mounted file systems" issue. I changed configure.ac to only warn about that. Nevertheless, compilation of df.c was automatically disabled, so apparently coreutils can handle this already.

The next thing is savewd.c, which requires errno value ESTALE to be there, but interix doesn't have that one. The third is who.c, which doesn't check for IPV6 (interix doesn't have IPV6). For these you'll find a patch attached.

Another issue: I first tried to configure with --enable-no-install-program=who, but nevertheless who.c is tried to be built. Shouldn't --enable-no-install-program also disable compilation of who.c? One might try to disable it, because it doesn't build :-)

After these patches the build went through, but "make check" doesn't:

Making check in man
make[2]: Entering directory `/tmp/coreutils-6.10~20070907/man'
/usr/bin/make  check-local
make[3]: Entering directory `/tmp/coreutils-6.10~20070907/man'
PATH=../src:$PATH; export PATH;         \
        t=ls-files.$$;                                          \
        (cd . && ls -1 *.x) | sed 's/\.x$//' | LC_ALL=C sort > $t;\
        (echo groups.1 uname.1 chroot.1 nice.1 who.1 users.1 [... 8<]
          | tr -s ' ' '\n' | sed 's/\.1$//')       \
          | LC_ALL=C sort -u | diff - $t || { rm $t; exit 1; };  \
        rm $t
16a17
df
30a32
hostid
make[3]: *** [check-x-vs-1] Error 1

df.c and hostid.c weren't tried to compile. I didn't look into the details of this one, but simply disabled the whole check for now.


Martin
--- coreutils-6.10~20070907/gnulib/m4/ls-mntd-fs.m4.orig        Sun Sep 24 
08:49:03 2006
+++ coreutils-6.10~20070907/gnulib/m4/ls-mntd-fs.m4     Sat Sep 15 20:58:50 2007
@@ -327,7 +327,7 @@
 fi
 
 if test -z "$ac_list_mounted_fs"; then
-  AC_MSG_ERROR([could not determine how to read list of mounted file systems])
+  AC_MSG_WARN([could not determine how to read list of mounted file systems])
   # FIXME -- no need to abort building the whole package
   # Can't build mountlist.c or anything that needs its functions
 fi
--- coreutils-6.10~20070907/gnulib/lib/savewd.c.orig    Wed Mar 21 09:07:20 2007
+++ coreutils-6.10~20070907/gnulib/lib/savewd.c Sat Sep 15 22:10:47 2007
@@ -54,7 +54,11 @@
            wd->val.fd = fd;
            break;
          }
-       if (errno != EACCES && errno != ESTALE)
+       if (errno != EACCES
+#ifndef __INTERIX
+        && errno != ESTALE
+#endif
+       )
          {
            wd->state = ERROR_STATE;
            wd->val.errnum = errno;
--- coreutils-6.10~20070907/src/who.c.orig      Sat Sep 15 23:02:44 2007
+++ coreutils-6.10~20070907/src/who.c   Sat Sep 15 23:38:16 2007
@@ -424,6 +424,7 @@
     }
 #endif
 
+#if HAVE_IPV6
   /* Needs configure check for ut_addr_v6, etc */
   if (do_ips &&
       memcmp(utmp_ent->ut_addr_v6, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16))
@@ -474,6 +475,7 @@
 
        getnameinfo(sa, salen, hoststr, 256, NULL, 0, flags);
   }
+#endif
 
   print_line (sizeof UT_USER (utmp_ent), UT_USER (utmp_ent), mesg,
              sizeof utmp_ent->ut_line, utmp_ent->ut_line,
_______________________________________________
Bug-coreutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-coreutils

Reply via email to