On Sat, 10 Jan 2004 [EMAIL PROTECTED] wrote:

> I have checked the List Archive and apart from a Patch to Libquicktime in 2002

> I am installing libquicktime-0.9.2 with jpeg-mmx-0.1.4 and 
> mjpegtools-1.6.1.92.libmjpeg
> I have looked at libmjpeg.h lines 44, etc and libmjpeg.c, lines 96 etc, but am 
> In file included from libmjpeg.c:25:
> libmjpeg.h:44: error: parse error before "jmp_buf"
> libmjpeg.h:44: warning: no semicolon at end of struct or union
> libmjpeg.h:70: error: field `jpeg_error' has incomplete type
> libmjpeg.c: In function `mjpeg_error_exit':
> libmjpeg.c:96: warning: implicit declaration of function `longjmp'
> libmjpeg.c:96: error: dereferencing pointer to incomplete type
> libmjpeg.c: In function `append_buffer':
> libmjpeg.c:325: warning: implicit declaration of function `memcpy'
> libmjpeg.c: In function `decompress_field':
> libmjpeg.c:586: warning: implicit declaration of function `setjmp'
> libmjpeg.c: In function `find_marker':
> libmjpeg.c:1338: warning: comparison between signed and unsigned
> libmjpeg.c: In function `table_offsets':
> libmjpeg.c:1392: warning: implicit declaration of function `bzero'
> make[3]: *** [libmjpeg.lo] Error 1
> make[3]: Leaving directory 

        It took a little while to realize that the errors were from
        building libquicktime instead of mjpegtools - time for another
        cup of coffee ;)

        The problem I suspect is the version of the PNG library installed
        on your system.   What version of libpng do you have?

        libquicktime is (incorrectly I believe) using <png.h> to obtain
        the definition of 'jmp_buf'.  If you look at line 34 in libmjpeg.h
        you will see:

        #include <png.h>       /* Need setjmp.h included by png.h */

        If a program needs <setjmp.h> it should include it explicitly rather
        than relying on another unrelated header file.   libmjpeg.h should
        have done a '#include <setjmp.h>' rather than assuming that <png.h>
        would do it.

        It seems that later versions of libpng do include <setjmp.h> and
        the libquicktime folks rely on that behaviour.   I'd report that
        as a bug in libquicktime.

        In the meantime you can work around this in two ways:

        1) Add a '#include <setjmp.h>' to libmjpeg.h

        or 

        2) Install a newer version of libpng that has the libquicktime 
           desired behaviour.

        The other warning errors (about bzero, etc) I think are due to not
        including <string.h>.    It's possible that libquicktime is relying
        on <png.h> to also do the include of string.    You can add a
        '#include <string.h>' and see if that causes the other warning errors
        to go away.

        Good Luck!

        Cheers,
        Steven Schultz



-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
_______________________________________________
Mjpeg-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/mjpeg-users

Reply via email to