[mercury-users] Problem with mmake
Fergus Henderson
fjh at cs.mu.OZ.AU
Thu May 31 11:22:32 AEST 2001
On 31-May-2001, Richard A. O'Keefe <ok at atlas.otago.ac.nz> wrote:
> [Fergus wrote:]
> > My guess is that you probably have a corrupt *.d *.dv or *.dep file
> > in the directory. Such files can sometimes be created if you are using
> > NFS and you get an NFS timeout.
> >
> > It might be simplest to just try `rm -f *.d *.dv *.dep' first.
>
> I have been deleting such files all along.
> Let's try again.
> Do the suggested rm. No, wait! *.d is my convention for naming directories!
> mmake **can't** be dumb enough to copy the binary contents of a directory
> into a generated makefile. Can it?
...
> Ah, so that was it. mmake *is* dumb enough not to check whether a *.d
> file is a directory before slurping it in. Definitely a bug.
If you don't use --use-subdirs, then Mmake does assume that anything named
*.d in the current directory is a dependency file. I don't think it is
worth changing that assumption, since it would complicate the software,
and it is easy to avoid, either by using --use-subdirs, or by naming your
directories something different.
Mmake should certainly issue a proper error message rather than just
dumping the directory in binary. However, Mmake just uses the system
utility `cat'. If `cat' is dumping the binary contents of directories,
rather than reporting an error message to stderr, I'd consider that a bug
in `cat'. I suggest you contact your OS vendor, and in the mean time
install GNU cat (it's part of the GNU textutils package).
On Solaris 2.7 (SunOS 5.7), /bin/cat seems to do the right thing for
directories (i.e. it reports an error "cat: input error on foo.d:
Invalid argument"). Which version of Solaris are you using?
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
| of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-users mailing list
post: mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the users
mailing list