delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/01/16/07:48:05

Date: Sun, 16 Jan 2000 10:33:54 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Jeff Williams <jeffw AT darwin DOT sfbr DOT org>
cc: djgpp AT delorie DOT com
Subject: Re: building GNU time-1.7 under djgpp
In-Reply-To: <200001151715.LAA12151@darwin.sfbr.org>
Message-ID: <Pine.SUN.3.91.1000116103330.11666S-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
Errors-To: dj-admin AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Sat, 15 Jan 2000, Jeff Williams wrote:

> >From the makefile:
> 
> ./mkinstalldirs /temp/info
> for file in time.info; do		\
>   for ifile in `cd . && echo $file*`; do \
>     c:/djgpp/bin/ginstall -c -m 644 ./$ifile /temp/info/$ifile; \
>   done;					\
> done
> 
> and the result on my system when I run `make install':
> 
> c:/djgpp/bin/ginstall: ./time.info*: No such file or directory (ENOENT)
> make.exe: *** [install-info] Error 1
> 
> Is there a simple, or canonical, way to deal with this situation?

Replace the the first `for' line with this:

  for file in time.i; do		\

> % ls time.inf
> time.inf
> % ls time.info
> time.info
> % ls time.infinity
> time.infinity
> 
> What is going on here?  The only file truly present is `time.inf'.

What's going on is this:

  - When `ls' starts up, its startup code tries to expand "time.info"
    as a wildcard.  This fails, so "time.info" is left intact (see
    section 16.1 of the FAQ).

  - `ls' then tries to stat `time.info', which succeeds due to
    transparent truncation of all file names to DOS 8+3 limits.  This
    truncation is done by DOS itself.

This is a feature (not only in `ls').  If it were not for this, lots
of Unix Makefile would be instantly broken.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019