Neil Jerram <[EMAIL PROTECTED]> writes: I have looked at this in more detail, to understand more precisely what pkgsrc changed, in order to make sure I'm not suggesting that we throw out a fix to an actual problem.
>> $NetBSD: patch-aj,v 1.3 2007/07/20 00:09:23 gdt Exp $ >> >> --- libguile/_scm.h.orig 2007-05-09 16:22:03.000000000 -0400 >> +++ libguile/_scm.h >> @@ -119,7 +119,9 @@ >> # define SCM_SYSCALL(line) line; >> #endif /* ndef SCM_SYSCALL */ >> >> -#if !defined (MSDOS) && !defined (__MINGW32__) >> +#include <errno.h> > > The include isn't needed here, because errno.h was already included > earlier on in the same file. Agreed, so I will remove the include from patch-aj (which dates from 1.6). >> + >> +#if !defined (MSDOS) && !defined (__MINGW32__) && !defined(errno) >> # ifdef ARM_ULIB >> extern volatile int errno; >> # else > > I think we can just delete these extra errno declarations. They've > been there forever - or at least since rev 1.1 of _scm.h in CVS (1996) > - and I suspect they've just been left in from a time (pre-CVS) before > the #include <errno.h> was added. > > Can you confirm that ripping this stanza out works for you, then we'll > go ahead with that for 1.8.5. Now it has finally become clear to me (sorry for being dense): pkgsrc was only ifdef'ing out these redundant errno declarations in an attempt to avoid some platform that didn't need them blowing up. I did a build with the following patch instead: $NetBSD$ --- libguile/_scm.h.orig 2008-02-06 08:09:18.000000000 -0500 +++ libguile/_scm.h @@ -95,14 +95,6 @@ # define SCM_SYSCALL(line) line; #endif /* ndef SCM_SYSCALL */ -#if !defined (MSDOS) && !defined (__MINGW32__) -# ifdef ARM_ULIB - extern volatile int errno; -# else - extern int errno; -# endif /* def ARM_ULIB */ -#endif /* ndef MSDOS && ndef __MINGW32__*/ - #ifndef min and then 1.8.4 builds and 'make check's ok on NetBSD-current i386. I have put the above patch into pkgsrc, and I think it should be applied in guile.
