Re: [SHELL] Fix 64-bit Solaris build

2016-06-06 Thread Jonathan Perkin
* On 2016-06-06 at 15:27 BST, Herbert Xu wrote:

> On Fri, Dec 11, 2015 at 01:07:14PM +, Jonathan Perkin wrote:
> > In a 64-bit Solaris environment there is no stat64() function, only
> > stat().  This conflicts with the stat64 #define used to support
> > dietlibc/klibc when stat64() is not found and results in:
> > 
> >   ./../config.h:194:16: error: redefinition of 'struct stat'
> >#define stat64 stat
> > ^
> >   In file included from cd.c:36:0:
> >   /usr/include/sys/stat.h:217:8: note: originally defined here
> >struct stat {
> >   ^
> > 
> > Instead, add a AC_CHECK_DECL test for stat64, and only perform the
> > AC_CHECK_FUNC test if it isn't already defined.
> 
> I don't understand, does stat64 exist or not? If it doesn't then
> how can AC_CHECK_DECL help? Or do you mean that it only exists as
> a macro?

Right, it only exists as a macro, defined as

  #define stat64 stat
  
in sys/stat.h.  The AC_CHECK_FUNC test fails as it doesn't pull in any
includes, and cannot find a stat64() function in libc.

Adding the AC_CHECK_DECL test finds the definition and avoids running
the AC_CHECK_FUNC tests if that is the case.

-- 
Jonathan Perkin  -  Joyent, Inc.  -  www.joyent.com
--
To unsubscribe from this list: send the line "unsubscribe dash" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [SHELL] Fix 64-bit Solaris build

2016-06-06 Thread Herbert Xu
On Fri, Dec 11, 2015 at 01:07:14PM +, Jonathan Perkin wrote:
> In a 64-bit Solaris environment there is no stat64() function, only
> stat().  This conflicts with the stat64 #define used to support
> dietlibc/klibc when stat64() is not found and results in:
> 
>   ./../config.h:194:16: error: redefinition of 'struct stat'
>#define stat64 stat
> ^
>   In file included from cd.c:36:0:
>   /usr/include/sys/stat.h:217:8: note: originally defined here
>struct stat {
>   ^
> 
> Instead, add a AC_CHECK_DECL test for stat64, and only perform the
> AC_CHECK_FUNC test if it isn't already defined.

I don't understand, does stat64 exist or not? If it doesn't then
how can AC_CHECK_DECL help? Or do you mean that it only exists as
a macro?

Thanks,
-- 
Email: Herbert Xu 
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe dash" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html