Search code examples
ruby-on-railsimagemagickcarrierwavermagick

Rmagick Fails To Manipulate PNG


Following the Railscast episode on CarrierWave:

I installed ImageMagick on Mountain Lion via homebrew, exported the following path:

export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig:$PKG_CONFIG_PATH"

Symlinked the following:

ln -s /usr/local/include/ImageMagick/wand /usr/local/include/wand
ln -s /usr/local/include/ImageMagick/magick /usr/local/include/magick

And installed rmagick via bundler.

In my uploader I have the following:

include CarrierWave::RMagick
version :thumb do
     process :resize_to_limit => [85, 85]
end

Which creates thumbnails just fine, but not for png files. I've tried a handful of png images and it always fails with this error:

 Failed to manipulate with rmagick, maybe it is not an image? Original Error: no decode delegate for this image format `<path>/public/uploads/tmp/20121022-2133-9885-3333/thumb_cat_vs_internet.png' @ error/constitute.c/ReadImage/544

jpeg images work just fine.

EDIT

identify -list format | grep -i png returns nothing, indicating the png decode delegate is probably missing. Now what?


Solution

  • After determining the PNG delegate is not installed (using identify -list format), you should try uninstall/reinstalling ImageMagick as something was likely missed by the installer.