Hi, Le lundi 15 janvier 2018 à 05:56:38, Michael Matz a écrit :
Hi,
On Mon, 15 Jan 2018, sogal wrote:
You need to fix the code.. now if you provide an URL to see the complete build log.. maybe someone can help..
Indeed, here it is [0] I don't know of to fix the faulty file (nsgenbind-parser.c [1]), it is created during the build process. The only related file that I could find in the source tarball is nsgenbind-parser.y [2] I guess this file is used to generate the .c file that causes this error. Or am I wrong ?
No, that's correct. The .y file has this somewhere at the top:
----------------- %code requires {
#define YYLTYPE YYLTYPE typedef struct YYLTYPE { struct YYLTYPE *next; .... -----------------
Replace the #define above such that in the end it looks like:
----------------- %code requires {
#define NSGENBIND_LTYPE NSGENBIND_LTYPE typedef struct YYLTYPE { struct YYLTYPE *next; -----------------
The problem is that the .y file (at least the %code requires section) is written with the default prefixes of yacc symbols in mind (the 'YY' prefix), but the Makefile calls bison with --define=api.prefix=nsgenbind_. That renames all symbols to look line NSGENBIND_foo, including LTYPE, and the #ifdef machinery becomes confused if both are used.
Thanks a lot Michael, it worked perfectly ! Thank you for the detailled explanations as well. Cheers, -- Sébastien 'sogal' Poher -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org