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/
signature.asc
Description: Digital signature

