Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

After installing Imagemagick, I've tested it with jpg image, like this:

identify 1.jpg

But, I got this result:

identify: no decode delegate for this image format `1.jpg' @ error/constitute.c/ReadImage/550.

Then, I tried to add support for JPEG format by:

yum install libjpeg libjpeg-devel

but, I got:

Setting up Install Process
No package libjpeg available.
No package libjpeg-devel available.
Nothing to do

I thought I need to update the apt-get, I did:

apt-get install libjpeg libjpeg-devel

but, I got:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libjpeg
E: Unable to locate package libjpeg-devel

Is there an easy way to get those libraries installed ? I am using Ubuntu 12.04.

share|improve this question
2  
Why are you using yum? That is the package manager for a different distribution (Red Hat & Fedora), and if you have used yum to install imagemagick, I'm not at all surprised it can't find the libraries! You should only install software with apt-get unless you really know what you're doing! Also, "Ubuntu 12" isn't specific enough... There are two versions of Ubuntu that start with "12": 12.04 and 12.10. Ubuntu versions are based on release date: 12.04 was released April (month #04) of '12, and 12.10 was released October of '12. Please be sure and specify! –  thirtythreeforty Nov 4 '12 at 4:06
    
I have Ubuntu Release 12.04 (precise) 32-bit, I didn't install imagemagick with yum, instead I tar xvfz ImageMagick.tar.gz, cd ImageMagick-6.8.0, cd ImageMagick-6.8.0-4, ./configure, make, sudo make install, sudo ldconfig /usr/local/lib –  Samir Sabri Nov 4 '12 at 4:41

4 Answers 4

up vote 5 down vote accepted

I fixed the problem by installing from source the jpeg encoding library available at http://www.ijg.org/files/jpegsrc.v8c.tar.gz.

cd /usr/local/src
tar xvfz jpeg-8c.tar.gz
cd jpeg-8c
./configure --enable-shared --prefix=$CONFIGURE_PREFIX
make
sudo make install

Then I re-installed ImageMagick from source:

cd /usr/local/src
tar xvfz ImageMagick-6.6.9-5.tar.gz
cd ImageMagick-6.6.9-5
export CPPFLAGS=-I/usr/local/include
export LDFLAGS=-L/usr/local/lib
./configure --prefix=/usr/local --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --disable-openmp
make
sudo make install

Now its working, I've tested it like this:

sam@ubuntu:~/RubymineProjects/project/tmp$ identify 1.jpg
1.jpg JPEG 128x106 128x106+0+0 8-bit sRGB 2.22KB 0.000u 0:00.000
share|improve this answer
    
This worked for me. I had to add export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/ in .profile –  mv288 Feb 10 '13 at 23:08
    
I only installed the first jpegsrc from source and reinstalled ImageMagick via apt-get and it worked too. –  kyng Jun 27 '13 at 10:39

If you decide to build ImageMagick from source, you need to be prepared to manually resolve all dependencies. Unless you have a pressing need, you should install all software on Ubuntu from a repository -- either the official repos or a PPA.

If you install Imagemagick using APT (apt-get, Synaptic, Software Center, etc.), then JPG files will work just fine, as I confirmed on my machine.

If your reason for building from source is to get a more recent version, hunt for a PPA that tracks the most recent version. If you're building from source in order to help with development, then you should find out from the Imagemagick folks just what is required to succesfully build it from source. It might be that you need to specify some flag to ./configure or have some development library installed before running ./configure.

But normally, building from source just needlessly complicates things.

Oh, by the way, Red Hat and Ubuntu use different names for packages. So if yum complains about a missing package, it shouldn't be surprising if apt-get can't find a package by that name. You shouldn't mix package managers on a system unless you have a really good reason to do so. Even then, try every other option first.

share|improve this answer
    
I have no specific reason to building from source, if installing Imagemagick using APT (apt-get, Synaptic, Software Center, etc.) will fix the JPG files issue, I will go with it, can you please point me how to install Imagemagick using APT like you did ? –  Samir Sabri Nov 4 '12 at 8:35
    
@SamirSabri: Just search the Software Center or Synaptic. Or use tab completion on apt-get to discover the command: sudo apt-get install imagemagick. –  Scott Severance Nov 4 '12 at 13:57
    
By the way, I strongly suggest that you remove all previous attempts to install imagemagick before you try to install using my method. Otherwise, you might end up with conflicts. –  Scott Severance Nov 4 '12 at 14:01
    
Although I've removed previous attempts, I get an error when identify jpg image, like this: sam@ubuntu:~/RubymineProjects/project/tmp$ identify 1.jpg identify: no decode delegate for this image format `1.jpg' @ error/constitute.c/ReadImage/550. –  Samir Sabri Nov 5 '12 at 2:14

have you tried :

sudo apt-get install libjpeg62

if the above command doesn't work, please go through following link.

http://psx-scene.com/forums/f150/help-install-libjpeg-libpng-ubuntu-9-10-livecd-64122/

Let em know, if this was helpful, good luck... :)

share|improve this answer
    
I tried your solution, I got: Reading package lists... Done Building dependency tree Reading state information... Done libjpeg62 is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded. But, I still get an error when identify jpg image: sam@ubuntu:~/RubymineProjects/project/tmp$ identify 1.jpg identify: no decode delegate for this image format `1.jpg' @ error/constitute.c/ReadImage/550. –  Samir Sabri Nov 5 '12 at 2:17
    
okay, I found this : blog.ericlamb.net/2008/11/… please, check and let me know, thanks for your reply. –  Rishi Kolvekar Nov 5 '12 at 3:29
    
I've just fixed it before reading your last comment, thanks, I have it in my answer below –  Samir Sabri Nov 5 '12 at 3:35
    
sounds great !!! :) –  Rishi Kolvekar Nov 5 '12 at 4:00

Note that the no decode delegate error can (quite confusingly) result from imagemagick (or some part of it) not finding the file. So before running to reinstall imagemagick, check with identify -list format and convert -list configure whether the JPEG format is supported, and if it is, the problem will probably be somewhere else.

For example, convert -resize 50% foo\ bar.jpg gave me a no decode delegate for this image format eror, but convert -resize 50% 'foo bar.jpg' worked perfectly.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.