|
Hello,
I've had problems building VM. Apparently the file
$SOURCE_ROOT/platforms/unix/src/vm/debug.c and debug.h were adjusted to
handle a Mac OS X problem regarding to dprintf. In file debug.c it is
necessary to include stdlib.h to handle abort(). But then, dprintf is
polymorphic and is not properly handled:
gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H
-DSQUEAK_BUILTIN_PLUGIN
-I/home/casimiro/Softwares/squeak/squeak-svn-sources/bld
-I/home/casimiro/Softwares/squeak/squeak-svn-sources/platforms/unix/vm
-I/home/casimiro/Softwares/squeak/squeak-svn-sources/platforms/Cross/vm
-I/home/casimiro/Softwares/squeak/squeak-svn-sources/platforms/unix/src/vm
-I/home/casimiro/Softwares/squeak/squeak-svn-sources/platforms/Cross/vm
-I/home/casimiro/Softwares/squeak/squeak-svn-sources/platforms/unix/src/vm
-I/home/casimiro/Softwares/squeak/squeak-svn-sources/platforms/unix/vm
-I/home/casimiro/Softwares/squeak/squeak-svn-sources/platforms/Cross/plugins/FilePlugin
-I/home/casimiro/Softwares/squeak/squeak-svn-sources/platforms/unix/plugins/B3DAcceleratorPlugin
-I/home/casimiro/Softwares/squeak/squeak-svn-sources/bld
-I/home/casimiro/Softwares/squeak/squeak-svn-sources/platforms/unix/vm
-I/home/casimiro/Softwares/squeak/squeak-svn-sources/platforms/Cross/vm
-I/home/casimiro/Softwares/squeak/squeak-svn-sources/platforms/unix/src/vm
-c -o debug.o
/home/casimiro/Softwares/squeak/squeak-svn-sources/platforms/unix/vm/debug.c
In file included from
/home/casimiro/Softwares/squeak/squeak-svn-sources/platforms/unix/vm/debug.c:3:
/usr/include/stdio.h:399:66: error: macro "dprintf" passed 3 arguments,
but takes just 1
make[1]: ** [debug.o] Erro 1
make: ** [vm/vm.a] Erro 2
Problem code at debug.h is:
#if (DEBUG)
/* the thing to use here is a variadic macro, but Apple's gcc barfs on
** them when running in precomp mode. did they _really_ have to break
** the preprocessor just to implement precomp? good _grief_.
*/
extern void __sq_dprintf(const char *fmt, ...);
# define dprintf(ARGS) __sq_dprintf ARGS
#else
# define dprintf(ARGS) ((void)0)
#endif
|