4

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.

cherouvim
  • 744
  • 3
  • 18
  • 37

2 Answers2

1

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

nimai
  • 153
  • 6
  • 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
0

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

EightBitTony
  • 9,211
  • 1
  • 32
  • 46
dr-evil
  • 377
  • 1
  • 5