This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Cygwin build for mingw32 host build failure in binutils-gdb/intl with make 4.0


  Hi,

  I get build failure trying to compile mingw32 using
i686-w64-mingw32-gcc on a cygwin installation.

  After some checks, I suspect that the problem comes from the fact
that cygwin has make 4.0 version.

  in intl sub-directory,
plural.c is regenerated using 
bison -y -d --name-prefix=__gettext --output plural.c
../../../binutils-gdb/intl/plural.y
command,
while on msys with make 3.81,
the file ../../../binutils-gdb/intl/plural.c source is used.

  Installed bison version is 3.0.2
and the newly generated plural.c leads to this error below:

   It seems that this problem is also mingw32 specific because
for native cygwin compilation, the all target in intl sub-directory is
all-no.
But forcing the compilation by running
make ?C intl all-yes
also leads to a generation of plural.c aand to the same compilation error.

  How should this problem be fixed?

Pierre Muller



i686-w64-mingw32-gcc -c  -gstabs+ -O0 -D__USE_MINGW_ACCESS -DHAVE_CONFIG_H 
-I. -I../../../binutils-gdb/intl plural.c
In file included from ../../../binutils-gdb/intl/plural.y:35:0:
../../../binutils-gdb/intl/plural-exp.h:102:23: error: conflicting types for
'libintl_gettextparse'
# define PLURAL_PARSE libintl_gettextparse
                       ^
../../../binutils-gdb/intl/plural.y:40:25: note: in expansion of macro
'PLURAL_PARSE'
# define __gettextparse PLURAL_PARSE
                         ^
plural.c:185:5: note: in expansion of macro '__gettextparse'
int __gettextparse (void);
     ^
../../../binutils-gdb/intl/plural-exp.h:102:23: note: previous declaration
of 'libintl_gettextparse' was here
# define PLURAL_PARSE libintl_gettextparse
                       ^
../../../binutils-gdb/intl/plural-exp.h:114:12: note: in expansion of macro
'PLURAL_PARSE'
extern int PLURAL_PARSE PARAMS ((void *arg));
            ^
../../../binutils-gdb/intl/plural-exp.h:102:23: error: conflicting types for
'libintl_gettextparse'
# define PLURAL_PARSE libintl_gettextparse
                       ^
../../../binutils-gdb/intl/plural.y:40:25: note: in expansion of macro
'PLURAL_PARSE'
# define __gettextparse PLURAL_PARSE
                         ^
plural.c:63:25: note: in expansion of macro '__gettextparse'
#define yyparse         __gettextparse
                         ^
plural.c:1130:1: note: in expansion of macro 'yyparse'
yyparse (void)
^
../../../binutils-gdb/intl/plural-exp.h:102:23: note: previous declaration
of 'libintl_gettextparse' was here
# define PLURAL_PARSE libintl_gettextparse
                       ^
../../../binutils-gdb/intl/plural-exp.h:114:12: note: in expansion of macro
'PLURAL_PARSE'
extern int PLURAL_PARSE PARAMS ((void *arg));
            ^
plural.c: In function 'libintl_gettextparse':
plural.c:1299:7: error: too few arguments to function '__gettextlex'
       yychar = yylex (&yylval);
       ^
plural.c:64:25: note: declared here
#define yylex           __gettextlex
                         ^
../../../binutils-gdb/intl/plural.y:69:12: note: in expansion of macro
'yylex'
static int yylex PARAMS ((YYSTYPE *lval, const char **pexp));
            ^
../../../binutils-gdb/intl/plural.y:178:29: error: 'arg' undeclared (first
use in this function)
      ((struct parse_args *) arg)->res = $1;
                             ^
../../../binutils-gdb/intl/plural.y:178:29: note: each undeclared identifier
is reported only once for each function it appears in
Makefile:133: recipe for target 'plural.o' failed
make: *** [plural.o] Error 1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]