14

I recently converted from macports to homebrew and my previous macports Imagemagick install was working fine. I followed the homebrew instructions to chown /usr/local (somewhat apprehensively) and remove /usr/local/include and /usr/local/lib. When trying to work with any jpeg images, imagemagick chokes with:

no decode delegate for this image format

Here is a list of some relevant command output. As you can see, no jpeg/jpg delegate can be found.

convert -list configure => DELEGATES bzlib freetype png x11 xml zlib

identify -list configure => DELEGATES bzlib freetype png x11 xml zlib

However, jpeg lib was installed as part of the Imagemagick dependencies, so I'm not sure what's going on here.

brew list => imagemagick jasper jpeg libtiff little-cms nginx pcre

brew doctor => Your OS X is ripe for brewing. Any troubles you may be experiencing are likely purely psychosomatic.

identify --version => Version: ImageMagick 6.6.7-9 2011-04-06 Q16

Any ideas?

MAP
  • 742
  • 1
  • 9
  • 21

5 Answers5

20

Andrei, your solution got me in the right direction.

but it was a

brew install --force jpeg
brew install --force imagemagick

that got it working for me.

Jay Swain
  • 738
  • 6
  • 6
  • 1
    I had a similar problem getting the `lqr` delegate to work. I had to `brew unlink imagemagick` and then `brew install --force liblqr` and `brew install --force imagemagick` to clear it up. Thanks! – Clay Oct 13 '11 at 16:57
  • Problem fixed here, as well. Thank you! – Schrockwell May 15 '12 at 20:30
  • 4
    I started with `brew uninstall jpeg` and `brew uninstall imagemagick`. Then did `brew install --force jpeg` and `brew install --force imagemagick`. Worked on Mavericks 10.9.4. I also upgraded to the latest xQuartz http://xquartz.macosforge.org/landing/ – Chris Jacob Sep 11 '14 at 13:49
4

I just ran into this issue myself. While investigating I noticed symlinks to the jpeg jib were missing from /usr/local/lib. Can take of this with the following; just be sure to refer to the jpeg lib version in use, at the time of this post I am using 8c:

 ln -s /usr/local/Cellar/jpeg/8c/lib/libjpeg.8.dylib /usr/local/lib/libjpeg.8.dylib

 ln -s /usr/local/Cellar/jpeg/8c/lib/libjpeg.a /usr/local/lib/libjpeg.a

Then force homebrew to reinstall imagemagick:

 brew install --force imagemagick

Viola! Imagemagick will now show that a jpeg delegate is present.

Andrei Sfat
  • 8,440
  • 5
  • 49
  • 69
3

Thanks for the direction pointed. My jpeg is also already in the delegate list, re-installing imagemagick doesn't work for me, but relinking jpeg does:

brew unlink jpeg
brew link jpeg
ythdelmar
  • 829
  • 8
  • 9
1

I had this problem and it turned out to be permissions.

sudo chown myuser:wheel /usr/local

then:

brew remove jpeg
brew remove imagemagick
brew install jpeg
brew install imagemagick

sorted it. Word of warning though: I had MySQL sittting in /usr/local/ too, and I inadvertently messed up permissions for that, so if you've got anything else important in there, be careful :-) Fixed that with:

sudo chown -R mysql:wheel /usr/local/mysql/data

Hope this helps someone!

BaronVonKaneHoffen
  • 1,902
  • 1
  • 21
  • 29
  • This was my problem after upgrading to Mavericks too - except I didn't have to chown anything, just the uninstall and reinstall of jpeg and imagemagick – koosa Mar 06 '14 at 04:06
0

9monkeys solution here plus restarting Terminal worked for me.

Community
  • 1
  • 1
zeeawan
  • 6,667
  • 2
  • 50
  • 56