Page 1 of 1

Windows build failure on 6.6.7 with TIFF delegate disabled

Posted: 2011-01-29T19:46:58-07:00
by paulheckbert
I was building a stripped-down version of Image Magick convert (need convert only, using it to convert & flatten PSB & PSD files to PPM), building on Mac OS 10.5.8 and Windows XP, in particular without the TIFF delegate, and ran into a build bug in coders/tiff.c when compiling on Windows.

What I ran on Mac:

grabbed version 6.6.7 following directions at http://www.imagemagick.org/script/advan ... lation.php

configged like this:
./configure \
--without-bzlib \
--without-dps \
--without-freetype \
--without-jbig \
--without-jpeg \
--without-jp2 \
--without-lcms \
--without-lzma \
--without-png \
--without-tiff \
--without-wmf \
--without-x \
--without-xml \
--without-zlib \
--with-quantum-depth=8 \
--without-perl \
--without-magick-plus-plus \
--disable-shared \

and it worked fine.

I then did the following on Windows:

Got Image Magick version 6.6.7 from http://www.imagemagick.org/script/insta ... hp#windows
put it in ImageMagick/win
start Visual Studio 2005
build configure app
file / open / project / <navigate to ImageMagick/win/VisualMagick/configure/configure.vcproj> / open
save backup? no
conversion wizard
build
run configure app
debug / start debugging
yes
it will run configure app
(new window appears in taskbar, but sometimes it's hidden and needs to be opened & revealed)
next
Static Multi-threaded runtimes
uncheck Visual Studio 7
not doing 64 bit
edit magick-config.h
MAGICKCORE_QUANTUM_DEPTH 8
comment out X11_DELEGATE, also BZ, FREETYPE, JP2, JPEG, LCMS (both), PNG, TIFF, WINGDI, WMF, XML, ZLIB
set all TIFF defines at end to 0
build ImageMagick
open VisualStatic_MT.dsw
a vcproj already exists - use it? click yes about 10x
set to Release
Build / Build
hit a compiler error in coders/tiff.c, fixed it by moving an #endif

this was the source code change required (without this change, msdev was giving compiler errors such as instantiate_key undefined:

diff --git a/dependencies/ImageMagick/win/coders/tiff.c b/dependencies/ImageMagick/win/coders/tiff.c
index 2271695..c5e959a 100755
--- a/dependencies/ImageMagick/win/coders/tiff.c
+++ b/dependencies/ImageMagick/win/coders/tiff.c
@@ -166,6 +166,7 @@ static const ExifInfo
{ 0, 0, (char *) NULL }
};
#endif
+#endif /* TIFF_DELEGATE */
^L
/*
Global declarations.
@@ -178,7 +179,6 @@ static SemaphoreInfo

static volatile MagickBooleanType
instantiate_key = MagickFalse;
-#endif
^L
/*
Forward declarations.

After the above change, the build worked on Windows, also.

So I believe you have a source code bug for windows when the TIFF delegate is disabled.

Are others able to reproduce this build bug?

Re: Windows build failure on 6.6.7 with TIFF delegate disabl

Posted: 2011-01-29T19:59:12-07:00
by magick
Thanks for the analysis and patch. We'll get your patch into ImageMagick 6.6.7-4 Beta available by sometime tomorrow.