<<< Date Index >>>     <<< Thread Index >>>

Re: mutt/2174: Can't build 1.5.11 under cygwin



> From: owner-mutt-dev@xxxxxxxx 
> [mailto:owner-mutt-dev@xxxxxxxx] On Behalf Of miki.tebeka@xxxxxxxxx
> Sent: Tuesday, January 31, 2006 7:18 AM
> To: Mutt Developers
> Subject: mutt/2174: Can't build 1.5.11 under cygwin
> 
> >Number:         2174
> >Notify-List:    
> >Category:       mutt
> >Synopsis:       Can't build 1.5.11 under cygwin
> >Confidential:   no
> >Severity:       serious
> >Priority:       medium
> >Responsible:    mutt-dev
> >State:          open
> >Keywords:       
> >Class:          sw-bug
> >Submitter-Id:   net
> >Arrival-Date:   Tue Jan 31 14:18:10 +0100 2006
> >Originator:     Miki Tebeka
> >Release:        1.5.11
> >Organization:
> >Environment:
> Cygwin
> >Description:
> Compling mutt 1.5.11 under cygwin fails.
> The error is:
> mh.c:742: error: structure has no member named `d_ino'
> 
> In /usr/include/sys/dirent.h there is a comment:
>   unsigned __invalid_ino32;           /* DO NOT USE: No 
> longer available since cygwin 1.5.19 */
> 
> >How-To-Repeat:
> Try to compile mutt under cygwin
> >Fix:
> Change in line 742 from
>     de->d_ino
> to
>     de->__invalid_d_ino
> >Add-To-Audit-Trail:
> 
> >Unformatted:

That's not really a fix though.  Windows (and from what I understand several
Unii, and/or Unii on particular filesystems) don't have a useful concept of
a "d_ino".  The Cygwin one that was there was faked (a hash of the file path
or some such), and was removed in the interest of performance and/or sanity.
I'll check on this, but I don't even think it's POSIX to rely on this being
meaningful.  A Cygwin-(et al)-specific fix would involve eliminating the use
of this field.

-- 
Gary R. Van Sickle