On 12/15/2010 05:09 PM, Samuel Thibault wrote: > Steve Dickson, le Wed 15 Dec 2010 15:48:38 -0500, a écrit : >>> Building it with ``make -k'': >>> >>> ../../master/src/auth_unix.c:187: error: ‘MAXHOSTNAMELEN’ undeclared >>> (first use in this function) >> I don't understand what this is complaining about. Obviously >> MAXHOSTNAMELEN is define (see rpc/types.h) otherwise the non-hurd build >> would fail. > > MAXHOSTNAMELEN is defined on some OSes, but not on others, as POSIX says > it's an optional macro (it's not defined when there is no limitation). See > > http://www.gnu.org/software/hurd/hurd/porting/guidelines.html#PATH_MAX_tt_MAX_PATH_tt_MAXPATHL The link to Neil's xgethostname() (http://ftp.walfield.org/pub/people/neal/xgethostname/) is broken... So I googled around and found http://walfield.org/pub/people/neal/xgethostname/xgethostname-20020413.tar.gz I'm assuming that's latest and greatest version.
> >> Also, I've realized adding: >> #ifndef MAXHOSTNAMELEN >> #define MAXHOSTNAMELEN 64 >> #endif >> to auth_unix.c eliminates this "error". > > That's a crude way, but yes it should work. Looking around in the glibc code I see this in a number of places: /* As per RFC 1034 and 1035 a host name cannot exceed 255 octets in length. */ #ifdef MAXHOSTNAMELEN # undef MAXHOSTNAMELEN #endif #define MAXHOSTNAMELEN 256 Is this a less crude way of correcting the error? > >> But again those ifdefs are not needed on "normal" builds so what >> gives? > > They are not needed on OSes which have a hostname lenght limitation, but > they are needed on OSes which don't. > >>> ../../master/src/bindresvport.c:189: error: ‘IPV6_PORTRANGE’ undeclared >>> (first use in this function) >>> ../../master/src/bindresvport.c:190: error: ‘IPV6_PORTRANGE_LOW’ >>> undeclared (first use in this function) >> This is true but these defines are in non-Linux code so I guess >> the hurd builds defines both Linux and non-Linux parts of the code? > > It just means that these are not Linux-only. But that doesn't mean it's > standard macros. And indeed, while some other IPV6_* macros are in > posix, IPV6_PORTRANGE* are not, and thus aren't standard. Ok... I'll just locally define them... tia, steved. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

