I'm trying to compile cwm (/usr/xenocara/app/cwm) on Linux, as I would like to use this very supreme window manager on all my non-OpenBSD systems as well. The version of cwm that I'm working with is from yesterday's -current (23rd of July, 2008). The Linux distribution is Ubuntu Feisty.
I have installed the following development packages: libexpat1-dev libxft-dev libfontconfig1-dev libxrender-dev libxau-dev xlibs-dev libxdmcp-dev zlib1g-dev libxext-dev All .c files build without errors: $ for i in *.c; do gcc -I /usr/include/freetype2 -c $i; done conf.c: In function `conf_unbind': conf.c:403: warning: comparison between pointer and integer conf.c: In function `conf_mouseunbind': conf.c:493: warning: comparison between pointer and integer kbfunc.c: In function `kbfunc_ssh': kbfunc.c:364: warning: assignment makes pointer from integer without a cast $ ls *.o calmwm.o font.o input.o mousefunc.o util.o xutil.o client.o grab.o kbfunc.o screen.o xevents.o conf.o group.o menu.o search.o xmalloc.o I then try to use bison and run into trouble: $ bison -d --yacc parse.y $ mv y.tab.c parse.c $ gcc -I /usr/include/freetype2 -c parse.c parse.y:88: error: conflicting types for `YYSTYPE' parse.y:65: error: previous declaration of `YYSTYPE' was here parse.y: In function `yyparse': parse.y:86: error: request for member `v' in something not a structure or union parse.y:86: error: request for member `v' in something not a structure or union parse.y:86: error: request for member `v' in something not a structure or union parse.y:87: error: request for member `v' in something not a structure or union parse.y:88: error: request for member `v' in something not a structure or union parse.y:92: error: request for member `v' in something not a structure or union parse.y:93: error: request for member `v' in something not a structure or union parse.y:98: error: request for member `v' in something not a structure or union parse.y:99: error: request for member `v' in something not a structure or union parse.y:104: error: request for member `v' in something not a structure or union parse.y:107: error: request for member `v' in something not a structure or union parse.y:113: error: request for member `v' in something not a structure or union parse.y:113: error: request for member `v' in something not a structure or union parse.y:114: error: request for member `v' in something not a structure or union parse.y:115: error: request for member `v' in something not a structure or union parse.y:121: error: request for member `v' in something not a structure or union parse.y:121: error: request for member `v' in something not a structure or union parse.y:122: error: request for member `v' in something not a structure or union parse.y:123: error: request for member `v' in something not a structure or union parse.y:129: error: request for member `v' in something not a structure or union parse.y:131: error: request for member `v' in something not a structure or union parse.y:134: error: request for member `v' in something not a structure or union parse.y:137: error: request for member `v' in something not a structure or union parse.y:141: error: request for member `v' in something not a structure or union parse.y:147: error: request for member `v' in something not a structure or union parse.y:150: error: request for member `v' in something not a structure or union parse.y:153: error: request for member `v' in something not a structure or union parse.y:153: error: request for member `v' in something not a structure or union parse.y:154: error: request for member `v' in something not a structure or union parse.y:155: error: request for member `v' in something not a structure or union parse.y:158: error: request for member `v' in something not a structure or union parse.y:159: error: request for member `v' in something not a structure or union parse.y:160: error: request for member `v' in something not a structure or union parse.y:161: error: request for member `v' in something not a structure or union parse.y:164: error: request for member `v' in something not a structure or union parse.y:164: error: request for member `v' in something not a structure or union parse.y:165: error: request for member `v' in something not a structure or union parse.y:166: error: request for member `v' in something not a structure or union parse.y: In function `yyerror': parse.y:183: error: request for member `lineno' in something not a structure or union parse.y: In function `lgetc': parse.y:265: error: request for member `lineno' in something not a structure or union parse.y: In function `yylex': parse.y:326: error: request for member `lineno' in something not a structure or union parse.y:360: error: request for member `v' in something not a structure or union parse.y:382: error: request for member `v' in something not a structure or union parse.y:382: error: `LLONG_MIN' undeclared (first use in this function) parse.y:382: error: (Each undeclared identifier is reported only once parse.y:382: error: for each function it appears in.) parse.y:383: error: `LLONG_MAX' undeclared (first use in this function) parse.y:416: error: request for member `v' in something not a structure or union parse.y:420: error: request for member `lineno' in something not a structure or union I have tried to look into the errors from gcc but I'm not able to understand parse.y. Any help is appreciated :-) Martin