Page 1 of 1

ImageMagick 6.3.2 identify can not read any raster images

Posted: 2007-02-06T14:05:10-07:00
by Greg Coats
The ImageMagick-6.3.2 for Mac OS X binary that I downloaded today from your official site as the file ImageMagick-universal-apple-darwin8.8.0.tar.gz seems to me to be useless, because identify says it can not read any raster image formats. Is there a Mac OS X binary version that can read and write TIFF images?

$ convert -version
Version: ImageMagick 6.3.2 02/02/07 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2007 ImageMagick Studio LLC

$ identify -list format
Format Module Mode Description
-------------------------------------------------------------------------------

* native blob support

Re: ImageMagick 6.3.2 identify can not read any raster images

Posted: 2007-02-06T14:40:50-07:00
by magick
Did you set the MAGICK_HOME and the DYLD_LIBRARY_PATH environment variables are suggested by the QuickStart document?

Re: ImageMagick 6.3.2 identify can not read any raster images

Posted: 2007-02-06T16:10:29-07:00
by Greg Coats
I had set DYLD_LIBRARY_PATH, and had set IMHOME, but not MAGICK_HOME. Sorry about that. Thanks for the help.
The good news is now when I do
identify -list format
I get a list of 152 formats that are supported.
But the bad news is that the TIFF format in not on the list of supported formats.
Has ImageMagick withdrawn support for TIFF images from its official Macintosh binary?

Re: ImageMagick 6.3.2 identify can not read any raster images

Posted: 2007-02-06T17:11:12-07:00
by magick
We have not successfully compiled the TIFF delegate library for the Mac Universal build. It works fine as a PowerPC build. We will get TIFF working but currently there is no ETA.

Re: ImageMagick 6.3.2 identify can not read any raster images

Posted: 2007-02-06T20:17:11-07:00
by kyngchaos
What is the problem with TIFF for Intel OS X? Compile errors? or it just doesn't work? Are you building on PPC or Intel?

I've been building a universal libtiff for a while now, first from a PPC Mac, now on Intel. I might be able to help.

Re: ImageMagick 6.3.2 identify can not read any raster images

Posted: 2007-02-06T20:32:29-07:00
by magick
Excellent. Let us know how to build TIFF under Mac OS X Universal or post a URL of the libtiff distribution ready to build on the Mac. We'll then update the ImageMagick Mac OS X binary with TIFF support. Thanks.

Re: ImageMagick 6.3.2 identify can not read any raster images

Posted: 2007-02-06T21:01:10-07:00
by kyngchaos
Well, I don't have a static library build, and the dynamic version is a part of my UnixImageIO framework.

With nothing better to go on, here's what I do to build it universal (this is for 3.8.x):

1. I used to patch makefiles to get the universal flags in the right place, but that's a hassle. Now, I use a nifty tool that intecepts all gcc/g++ commands and inserts them, guaranteeing they'll be where needed. See this thread at Macosxhints.com:

http://www.macosxhints.com/article.php? ... 5213851279

2. configure libtiff as you normally would, just make sure to add the --disable-dependency-tracking flag. But DON'T make yet.

3. Chances are, if libtiff just doesn't work, it's an endian problem. Edit the two config headers that are generated by configure:

- libtiff/tif_config.h - replace HOST_BIGENDIAN, HOST_FILLORDER and WORDS_BIGENDIAN defs with:

#ifdef __BIG_ENDIAN__
#define HOST_BIGENDIAN 1
#define HOST_FILLORDER FILLORDER_MSB2LSB
#define WORDS_BIGENDIAN 1
#else
#define HOST_BIGENDIAN 0
#define HOST_FILLORDER FILLORDER_LSB2MSB
#undef WORDS_BIGENDIAN
#endif

- libtiff/tifconf.h - replace HOST_BIGENDIAN and HOST_FILLORDER defs with:

#ifdef __BIG_ENDIAN__
#define HOST_BIGENDIAN 1
#define HOST_FILLORDER FILLORDER_MSB2LSB
#else
#define HOST_BIGENDIAN 0
#define HOST_FILLORDER FILLORDER_LSB2MSB
#endif

(this __BIG_ENDIAN__ trick works for anything on OS X that has a configured endian setting. __BIG_ENDIAN__ and __LITTLE_ENDIAN__ are OSX GCC defined macros, and only one will be defined at a time, depending on the -arch flag used. Since a universal build processes the headers separately for each architecture, this works when both -arch ppc and -arch i386 are used at once.)

Re: ImageMagick 6.3.2 identify can not read any raster images

Posted: 2007-02-06T22:01:43-07:00
by magick
Ok, got it working. Will have an updated Mac OS X binary ImageMagick distribution available sometime tommorrow. Thanks.

Re: ImageMagick 6.3.2 identify can not read any raster images

Posted: 2007-02-06T22:37:53-07:00
by kyngchaos
Cool. Glad to be of help.