Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

In an openSUSE 11.1 I download, compile and install ImageMagick via:

wget ftp://.../pub/graphics/ImageMagick/ImageMagick-6.7.7-0.zip
unzip ImageMagick-6.7.7-0.zip
cd ImageMagick-6.7.7-0
./configure --prefix=/usr/local/ImageMagick
make
make install

Everything works nicelly until I discover that JPG is not supported:

identify -list format | grep -i jpg

[nothing related to JPG returned]

So I reconfigure and recompile using:

./configure --prefix=/usr/local/ImageMagick --with-jpeg=yes --with-jp2=yes
make
make install

But that changes nothing.

I end up uninstalling:

make uninstall

and installing via zypper:

zypper install ImageMagick

This installed version 6.4.3 and now it does support JPG:

identify -list format | grep -i jpg
JPG* JPEG      rw-   Joint Photographic Experts Group JFIF format

Any idea on what is going on here? What is a possible reason that this capability of ImageMagick was not there when compiled from source but was there when installed from rpm?

Note that I don't necessarily care a lot about ImageMagick (since it now works), but generally about his kind of behaviour, becase in one way or another I've seen this happen in other ocasions as well.

share|improve this question
    
Did your second configure/make/make install run succeed? –  scai Dec 19 '12 at 9:33
    
It succeded but it changed nothing. JPG support was still not there. –  cherouvim Dec 19 '12 at 11:23
add comment

2 Answers 2

There are at least two probable causes of difference between the 2 methods:

  • zypper takes care of the dependencies. So that if ImageMagick depends on a dynamicly-linked library you don't have, it will retrieve it so that ImageMagick can provide the feature related to that library. In that case, the executable resulting of your own compilation should work now that ImageMagick and its dependencies are installed.

  • zypper (AFAIK) doesn't compile the package, it only install a pre-compiled binary. There are dependencies that are needed only at compile-time to be able to compile specific features, usually headers of libraries (-dev or -devel packages). If you don't have them, configure may omit to enable the feature for compilation with more or less verbosity. To install those, the right command seems to be:
    # zypper in -d imagemagick

share|improve this answer
3  
Usually configure doesn't fail silently, it reports the missing headers. Yet they don't have to lead to an error when being only optional. –  scai Dec 19 '12 at 11:53
add comment

Looks like you forget to make clean / make mrproper after 2nd configure with other options.

share|improve this answer
add comment

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.