Build problem under Cygwin

Jerry James james at xemacs.org
Thu May 4 12:22:37 EDT 2006


Mats Lidell <matsl at xemacs.org> wrote:
> I'm getting this with latest CVS.
>
> -------------------------------------------------------------------------------------
> [...]
> cd ./lib-src && make  all
> make[1]: Entering directory `/usr/src/xemacs/working/lib-src'
> [...]
> gcc -I/usr/include/noX -I/usr/include/noX -Wall -Wno-switch -Wundef -Wsign-compare
> -Wno-char-subscripts -Wpacked -Wpointer-arith -Wshadow -Wmissing-declarations
> -Wmissing-prototypes -Wstrict-prototypes -g -O3 -I. -I../src
> -I/usr/src/xemacs/working/lib-src -I/usr/src/xemacs/working/src -DHAVE_CONFIG_H
> -I/usr/include/noX -fno-caller-saves /usr/src/xemacs/working/lib-src/gnuclient.c
> gnuslib.o -L/usr/lib/noX -L/usr/lib/noX    -lncurses -lintl -lwinmm -limm32 -lshell32
> -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lole32 -luuid -lwinspool -lmpr -o gnuclient
> In file included from /usr/src/xemacs/working/lib-src/gnuclient.c:62:
> ../src/sysfile.h:502: error: parse error before "c"
> ../src/sysfile.h:502: warning: function declaration isn't a prototype
> ../src/sysfile.h:502: error: parse error before "c"
> ../src/sysfile.h:503: warning: function declaration isn't a prototype
> ../src/sysfile.h: In function `IS_DIRECTORY_SEP':
> ../src/sysfile.h:504: error: `c' undeclared (first use in this function)
> ../src/sysfile.h:504: error: (Each undeclared identifier is reported only once
> ../src/sysfile.h:504: error: for each function it appears in.)
> ../src/sysfile.h: At top level:
> ../src/sysfile.h:507: error: parse error before "c"
> ../src/sysfile.h:507: warning: function declaration isn't a prototype
> ../src/sysfile.h:507: error: parse error before "c"
> ../src/sysfile.h:508: warning: function declaration isn't a prototype
> ../src/sysfile.h: In function `IS_ANY_SEP':
> ../src/sysfile.h:509: error: `c' undeclared (first use in this function)
> make[1]: *** [gnuclient] Error 1
> make[1]: Leaving directory `/usr/src/xemacs/working/lib-src'
> make: *** [lib-src] Error 2
> -------------------------------------------------------------------------------------
>
> Could it be that Ichar isn't known?

Yes.  Ichar is defined in lisp.h, which is not included by gnuclient.c,
nor by sysfile.h.  We Unix people aren't seeing this problem because the
Ichar-using definition is in Windows-only code.  We could fix this by:

1) Replacing Ichar with int in sysfile.h;
2) Including lisp.h in gnuclient.c prior to including sysfile.h (and
   removing the include of compiler.h, which gets pulled in by lisp.h);
   or
3) Doing a "typedef int Ichar;" in gnuclient.c prior to including
   sysfile.h.

I favor #2.
-- 
Jerry James, Assistant Professor        james at xemacs.org
Computer Science Department             http://www.cs.usu.edu/~jerry/
Utah State University




More information about the XEmacs-Beta mailing list