Re: getopt broken when building with glibc 2.25.90

2017-06-11 Thread Paul Eggert
Daniel P. Berrange wrote: -#ifndef _GETOPT_CORE_H -#define _GETOPT_CORE_H 1 +#ifndef _GL_GETOPT_CORE_H +#define _GL_GETOPT_CORE_H 1 Thanks, but getopt-core.h is supposed to be identical in the glibc version and the gnulib version, and changes like the above would make it differ. Instead, how

Re: getopt broken when building with glibc 2.25.90

2017-06-05 Thread Daniel P. Berrange
On Fri, Jun 02, 2017 at 11:18:04AM -0700, Paul Eggert wrote: > On 06/02/2017 09:25 AM, Daniel P. Berrange wrote: > > Fedora rawhide is now shipping with glibc 2.25.90 and when trying to > > build libvirt with gnulib's getopt module, it crashes & burns > > > >CC getopt.lo > > In file incl

Re: getopt broken when building with glibc 2.25.90

2017-06-02 Thread Paul Eggert
On 06/02/2017 09:25 AM, Daniel P. Berrange wrote: Fedora rawhide is now shipping with glibc 2.25.90 and when trying to build libvirt with gnulib's getopt module, it crashes & burns CC getopt.lo In file included from ./getopt.h:57:0, from ../../../gnulib/lib/getopt.c:26

getopt broken when building with glibc 2.25.90

2017-06-02 Thread Daniel P. Berrange
Fedora rawhide is now shipping with glibc 2.25.90 and when trying to build libvirt with gnulib's getopt module, it crashes & burns CC getopt.lo In file included from ./getopt.h:57:0, from ../../../gnulib/lib/getopt.c:26: ../../config.h:2934:25: warning: 'struct rpl_option'

Re: getopt broken

2009-09-27 Thread Sergey Poznyakoff
Eric Blake ha escrit: > It turned out there is a much simpler fix. Since glibc #define's > _GETOPT_H, our replacement thought it had already been > included, and short-circuited. If we use a different name, then > everything works out. I'm pushing this: Yes, indeed. Thanks for the fix! Regar

Re: getopt broken

2009-09-26 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 According to Eric Blake on 9/26/2009 3:30 PM: >> Any ideas how to fix it? > > Sounds like we need to follow the pattern of other replacement headers, > and use #if @REPLACE_GETOPT@ rather than #ifdef __GETOPT_PREFIX > everywhere. I'll see what I can

Re: getopt broken

2009-09-26 Thread Sergey Poznyakoff
Eric Blake ha escrit: > But I doubt that interface has ever changed signature in glibc, and is not > available anywhere else. There are too many possibilities here. E.g. the function takes as its last argument a struct _getopt_data, which is declared in getopt_int.h This structure in libc may ha

Re: getopt broken

2009-09-26 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 According to Sergey Poznyakoff on 9/26/2009 4:04 PM: > Eric Blake ha escrit: > >> Maybe the trick is to check whether _getopt_long_only_r is present to the >> linker, in which case we can provide our own declaration of it > > Yes, but we cannot guar

Re: getopt broken

2009-09-26 Thread Sergey Poznyakoff
Eric Blake ha escrit: > Maybe the trick is to check whether _getopt_long_only_r is present to the > linker, in which case we can provide our own declaration of it Yes, but we cannot guarantee our declaration matches the actual function definition. Regards, Sergey

Re: getopt broken

2009-09-26 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 According to Sergey Poznyakoff on 9/26/2009 3:52 PM: > Eric Blake ha escrit: > >> Oh, I see. getopt in isolation passes, but getopt in combination with >> argp causes the failure you are seeing. I guess it's because the argp >> module wants to use

Re: getopt broken

2009-09-26 Thread Sergey Poznyakoff
Eric Blake ha escrit: > Oh, I see. getopt in isolation passes, but getopt in combination with > argp causes the failure you are seeing. I guess it's because the argp > module wants to use lower-level hooks from getopt1.c than what getopt.h > normally exposes. Yes, that's it. Argp uses _getopt_

Re: getopt broken

2009-09-26 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 According to Sergey Poznyakoff on 9/26/2009 3:24 PM: > Hello, > > The latest changes to getopt (commit 6471b462, "getopt: fix inclusion > guards for cygwin") break compilation of getopt1.c on GNU/Linux: > > GENconfigmake.h > CC getopt1.o Why

Re: getopt broken

2009-09-26 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 According to Sergey Poznyakoff on 9/26/2009 3:24 PM: > The reason is that the declarations of getopt_long and getopt_long_r > both use __getopt_argv_const, which is normally defined in getopt.h. > However, if the system already has getopt.h, it gets in

getopt broken

2009-09-26 Thread Sergey Poznyakoff
Hello, The latest changes to getopt (commit 6471b462, "getopt: fix inclusion guards for cygwin") break compilation of getopt1.c on GNU/Linux: GENconfigmake.h CC getopt1.o getopt1.c:42: error: syntax error before '*' token getopt1.c: In function `getopt_long': getopt1.c:44: error: number o