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