Hi all, I have a package (x11iraf) which conflicts with gcc-3.3. For the whole story see below.. gcc includes /usr/bin/gcc which is pretty much a necessity, I think. I need xmkmf to work too. For now I have Build-Depends: gcc-3.2, but what can I do to force it to actually compile with that, instead of gcc-3.3? *** Whole story follows. Hints and suggestions more than welcomed. The code uses <varargs.h> which gcc-3.3 doesn't support. <stdarg.h> is the new standard. I've done my best to convert the code, but I can't solve a crash in the of the functions I had to change. See va_arg(3) for a reference. Here's what I did: - Comment out va_dcl - Change the va_alist parameter to "..." - Update the va_start calls to include the last parameter (all the functions have at least one constant argument). - Update the function prototypes. If I read the code, it seems like there's something funky with the first variable argument. What I have for now is: -Tcl_AppendResult(Tcl_Interp *interp, char *p, va_alist) +void Tcl_AppendResult(Tcl_Interp *interp, ...) Can this be right (neglecting the char *p parameter)? It seems like they're reading in the first argument (the constant, interp) using va_arg. That's why I left out p; it never gets used! So, it segfaults in this variable-argument function, but it does so even if I comment out all the vararg code (even I make it a fprintf; abort()). I'm looking over my .diff, and I haven't changed anything else, but the upstream binaries do work. Thanks, -- Justin aptitude install iraf saods9 eclipse xpa sextractor latex-astro wcstools pyraf http://www.justinpryzby.com/debian/
Attachment:
signature.asc
Description: Digital signature