[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Build-Conficts: gcc-3.3, and varargs



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


Reply to: