You'll need to apply the following (trivial) patch to get XV 3.10a to compile with version 6 of the Independent JPEG Group's JPEG library, which supports progressive JPEG and such. Note that XV 3.10a is still shipped with version 5a of said library. If you'd like the newer library, it is available for anonymous ftp on ftp.cs.columbia.edu, in /jpeg/src. John Bradley ----------------------------------------------------------------------------- *** xvjpeg.c.old Thu Jan 5 03:17:13 1995 --- xvjpeg.c Tue Jul 23 16:37:01 1996 *************** *** 51,61 **** static void clickJD PARM((int, int)); static void doCmd PARM((int)); static void writeJPEG PARM((void)); ! METHODDEF void xv_error_exit PARM((j_common_ptr)); ! METHODDEF void xv_error_output PARM((j_common_ptr)); ! METHODDEF void xv_prog_meter PARM((j_common_ptr)); static unsigned int j_getc PARM((j_decompress_ptr)); ! METHODDEF boolean xv_process_comment PARM((j_decompress_ptr)); static int writeJFIF PARM((FILE *, byte *, int,int,int)); --- 51,61 ---- static void clickJD PARM((int, int)); static void doCmd PARM((int)); static void writeJPEG PARM((void)); ! METHODDEF(void) xv_error_exit PARM((j_common_ptr)); ! METHODDEF(void) xv_error_output PARM((j_common_ptr)); ! METHODDEF(void) xv_prog_meter PARM((j_common_ptr)); static unsigned int j_getc PARM((j_decompress_ptr)); ! METHODDEF(boolean) xv_process_comment PARM((j_decompress_ptr)); static int writeJFIF PARM((FILE *, byte *, int,int,int)); *************** *** 400,406 **** /**************************************************/ ! METHODDEF void xv_error_exit(cinfo) j_common_ptr cinfo; { my_error_ptr myerr; --- 400,406 ---- /**************************************************/ ! METHODDEF(void) xv_error_exit(cinfo) j_common_ptr cinfo; { my_error_ptr myerr; *************** *** 412,418 **** /**************************************************/ ! METHODDEF void xv_error_output(cinfo) j_common_ptr cinfo; { my_error_ptr myerr; --- 412,418 ---- /**************************************************/ ! METHODDEF(void) xv_error_output(cinfo) j_common_ptr cinfo; { my_error_ptr myerr; *************** *** 426,432 **** /**************************************************/ ! METHODDEF void xv_prog_meter(cinfo) j_common_ptr cinfo; { struct jpeg_progress_mgr *prog; --- 426,432 ---- /**************************************************/ ! METHODDEF(void) xv_prog_meter(cinfo) j_common_ptr cinfo; { struct jpeg_progress_mgr *prog; *************** *** 671,677 **** /**************************************************/ ! METHODDEF boolean xv_process_comment(cinfo) j_decompress_ptr cinfo; { int length, hasnull; --- 671,677 ---- /**************************************************/ ! METHODDEF(boolean) xv_process_comment(cinfo) j_decompress_ptr cinfo; { int length, hasnull;