[squeak-dev] Problems building squeak VM (Fedora core 11)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Problems building squeak VM (Fedora core 11)

CdAB63
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