ImageMagick 6.3.2 identify can not read any raster images

Questions and postings pertaining to the usage of ImageMagick regardless of the interface. This includes the command-line utilities, as well as the C and C++ APIs. Usage questions are like "How do I use ImageMagick to create drop shadows?".
Post Reply
Greg Coats
Posts: 31
Joined: 2004-10-28T11:18:28-07:00
Location: Virginia, USA

ImageMagick 6.3.2 identify can not read any raster images

Post 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
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: ImageMagick 6.3.2 identify can not read any raster images

Post by magick »

Did you set the MAGICK_HOME and the DYLD_LIBRARY_PATH environment variables are suggested by the QuickStart document?
Greg Coats
Posts: 31
Joined: 2004-10-28T11:18:28-07:00
Location: Virginia, USA

Re: ImageMagick 6.3.2 identify can not read any raster images

Post 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?
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: ImageMagick 6.3.2 identify can not read any raster images

Post 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.
kyngchaos

Re: ImageMagick 6.3.2 identify can not read any raster images

Post 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.
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: ImageMagick 6.3.2 identify can not read any raster images

Post 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.
kyngchaos

Re: ImageMagick 6.3.2 identify can not read any raster images

Post 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.)
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: ImageMagick 6.3.2 identify can not read any raster images

Post by magick »

Ok, got it working. Will have an updated Mac OS X binary ImageMagick distribution available sometime tommorrow. Thanks.
kyngchaos

Re: ImageMagick 6.3.2 identify can not read any raster images

Post by kyngchaos »

Cool. Glad to be of help.
Post Reply