[Lucas Nussbaum]
> In file included from
> /build/user-squeak-vm_3.10.3+svn1902.dfsg-1-amd64-zLK_K2/squeak-vm-3.10.3+svn1902.dfsg/platforms/unix/vm/debug.c:3:
> /usr/include/stdio.h:397:66: error: macro "dprintf" passed 3 arguments, but 
> takes just 1

I came across this RC bug and investigated a bit, and the problem seem
to be that stdio.h have started to provide a dprintf function, which
conflicts with the dprintf macro defined in debug.h.  This is the
start of debug.c:

  #include "debug.h"

  #include <stdio.h>
  #include <stdarg.h>
  [...]

And this is the start of debug.h:

  #ifndef __sq_debug_h
  #define __sq_debug_h


  #ifndef  DEBUG
  # define DEBUG  0
  #endif


  #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

One workaround would be to build without debugging.  Another would be
to rename dprintf() to something else.  A third would be to build the
source without the __USE_GNU define to avoid the dprintf() function in
stdio.h to be visible.

No idea which approach is best.  I suspect this should be discussed
with upstream.

Happy hacking,
-- 
Petter Reinholdtsen




-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to