2005.12.03 18:59 "[Tiff] libtiff, libjpeg, cygwin compile problems", by Paul J. Lucas

I'm trying to compile libtiff (using libjpeg) under cygwin and

I'm getting all kinds of compile-time errors. FYI: I need to

compile with the -mno-cygwin flag to gcc since my software as a

whole can't depend on the end-user having cygwin installed.

libjpeg (version 6b) compiles and works just fine by itself.

However, if I try to compile libtiff (version 3.7.4) using my

compiled libjpeg, I get lots of errors (a sample of which are

I did find some information about a cygwin patch:


for libjpeg and applied the patch, but it didn't help.

How can I get libtiff to compile with libjpeg?

- Paul

libjpeg/include/jmorecfg.h:195: error: conflicting types for 'INT32'
usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../include/w32api/basetsd.h:52: error: previous declaration of 'INT32' was here

In file included from tif_jpeg.c:75:
libjpeg/include/jpeglib.h:99: error: parse error before "boolean"
libjpeg/include/jpeglib.h:541: error: parse error before '*' token
libjpeg/include/jpeglib.h:640: error: conflicting types for 'master'
libjpeg/include/jpeglib.h:416: error: previous declaration of 'master' was here
libjpeg/include/jpeglib.h:641: warning: 'main' is usually a function
libjpeg/include/jpeglib.h:641: error: conflicting types for 'main'
libjpeg/include/jpeglib.h:417: error: previous declaration of 'main' was here
libjpeg/include/jpeglib.h:642: error: conflicting types for 'codec'
libjpeg/include/jpeglib.h:419: error: previous declaration of 'codec' was here
libjpeg/include/jpeglib.h:645: error: conflicting types for 'marker'
libjpeg/include/jpeglib.h:420: error: previous declaration of 'marker' was here
libjpeg/include/jpeglib.h:647: error: conflicting types for 'cconvert'
libjpeg/include/jpeglib.h:421: error: previous declaration of 'cconvert' was here
libjpeg/include/jpeglib.h:649: error: parse error before '}' token

tif_jpeg.c:116: error: field `c' has incomplete type
tif_jpeg.c:117: error: field `d' has incomplete type
tif_jpeg.c:118: error: field `comm' has incomplete type
tif_jpeg.c:128: error: field `dest' has incomplete type
tif_jpeg.c:129: error: field `src' has incomplete type
tif_jpeg.c: In function `TIFFjpeg_error_exit':
tif_jpeg.c:215: error: dereferencing pointer to incomplete type
tif_jpeg.c: In function `TIFFjpeg_output_message':
tif_jpeg.c:231: error: dereferencing pointer to incomplete type
tif_jpeg.c: In function `TIFFjpeg_create_compress':
tif_jpeg.c:252: error: invalid application of `sizeof' to incomplete type `jpeg_compress_struct' 
tif_jpeg.c: In function `TIFFjpeg_create_decompress':
tif_jpeg.c:263: error: invalid application of `sizeof' to incomplete type `jpeg_decompress_struct' 
tif_jpeg.c: At top level:
tif_jpeg.c:395: error: `std_empty_output_buffer' declared as function returning a function
tif_jpeg.c:446: error: `tables_empty_output_buffer' declared as function returning a function
tif_jpeg.c: In function `tables_empty_output_buffer':
tif_jpeg.c:454: error: dereferencing pointer to incomplete type
tif_jpeg.c:454: error: dereferencing pointer to incomplete type