bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: coreutils-6.7 fails "make check" on OS/X


From: Peter Fales
Subject: Re: coreutils-6.7 fails "make check" on OS/X
Date: Fri, 9 Mar 2007 16:33:06 -0600
User-agent: Mutt/1.4.2.2i

On Fri, Mar 09, 2007 at 08:17:32PM +0100, Jim Meyering wrote:
> Can you run this?
> 
>     env VERBOSE=yes make check -C tests/mv TESTS=mv-special-1
> 
> and tell us what type of file system is making mv's (copy.c's)
> mknod or mkfifo call fail?

Extracting the key lines from the output, here's how to reproduce
the problem from the command line:

        $ mknod foo p
        $ src/mv --verbose foo /tmp
        `foo' -> `tmp/foo'
        src/mv: cannot create fifo `tmp/foo': Operation not permitted

Running the mv under ktrace/kdump shows:

  6257 mv       NAMI  "foo"
  6257 mv       RET   lstat 0
  6257 mv       CALL  lstat(0x300170,0xbffff8e0)
  6257 mv       NAMI  "/tmp/foo"
  6257 mv       RET   lstat -1 errno 2 No such file or directory
  6257 mv       CALL  rename(0xbffffe13,0x300170)
  6257 mv       NAMI  "foo"
  6257 mv       NAMI  "/tmp/foo"
  6257 mv       RET   rename -1 errno 18 Cross-device link
  6257 mv       CALL  unlink(0x300170)
  6257 mv       NAMI  "/tmp/foo"
  6257 mv       RET   unlink -1 errno 2 No such file or directory
  6257 mv       CALL  mknod(0x300170,0x1180,0)
  6257 mv       RET   mknod -1 errno 1 Operation not permitted

It appears that it attempts a rename, and when that fails, it tries
to do a mknod.   FWIW, the system-supplied /sbin/mknod command can only
make devices (it doesn't support the 'p' option), and the "man 2 mknod"
also refers only to creating device special files.   

> And please tell us whether it's also trying the mkfifo call.
> (you can just look for HAVE_MKFIFO in lib/config.h)

HAVE_MKFIFO is defined in  config.h.   It appears that the "mknod" command
is using mkfifo (and works), but the "mv" command only tries mknod.

> The next time you run "make check", please
> insert a "-k" option and run "make -k check" instead,
> so it runs all of the tests, even if there are failures.

I think that's the only remaining failure.  (At least the only one I
can consistently reproduce - I seem to be  seeing other failures that
show up in "make -k check" that don't show up when I re-run the
individual tests) 

-- 
Peter Fales
Alcatel-Lucent
Member of Technical Staff
2000 Lucent Lane
Room: 1C-436
Naperville, IL 60566-7033
Email: address@hidden
Phone: 630 979 8031




reply via email to

[Prev in Thread] Current Thread [Next in Thread]