ImageMagick PNG delegate install problems
Solution 1
You are making things a little too hard for yourself, here is a quick and dirty guide that ran well for me on Trusty Tahr:
First pick up a few known dependencies:
sudo apt-get install build-essential checkinstall \
libx11-dev libxext-dev zlib1g-dev libpng12-dev \
libjpeg-dev libfreetype6-dev libxml2-dev
This does not quite catch everything so activate the Source repositories by clicking on 'Souce Code' here:
Dash >> Software & Updates >> Source Code
and then running the following:
sudo apt-get build-dep imagemagick
Create a build folder and change to it:
mkdir $HOME/imagemagick_build && cd $HOME/imagemagick_build
And finally download, extract, compile and install by simply copying and pasting the entire code box below into a Terminal window:
wget https://www.imagemagick.org/download/ImageMagick-7.0.8-28.tar.bz2 && \
tar xvf ImageMagick-7.0.8-28.tar.bz2 && cd ImageMagick-7.0.8-28 && ./configure && make && \
sudo checkinstall -D --install=yes --fstrans=no --pakdir "$HOME/imagemagick_build" \
--pkgname imagemagick --backup=no --deldoc=yes --deldesc=yes --delspec=yes --default \
--pkgversion "7.0.8-28" && \
make distclean && sudo ldconfig
And finally test this, looking especially for the png you are missing in your own install:
andrew@corinth:~$ identify -version
Version: ImageMagick 7.0.5-10 Q16 x86_64 2017-06-05 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC OpenMP
Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jpeg lcms lqr lzma openexr pangocairo png tiff wmf x xml zlib
andrew@corinth:~$
And there is the png option you were missing :).
Solution 2
I installed ImageMagick7.0.11 as well as ImageMagick7.1.0 by extracting it's tar.gz files. But it did not work. Finally I had to install it using the rpm only. The 'dnf' command does the trick for you. If apt-get is not working, then 'dnf' might be the right solution for your RHEL/CentOS 8. Check this link for reference - https://unix.stackexchange.com/questions/555466/how-to-install-apt-get-and-dpkg
Now, when I hit the magick -version or convert -
version command, I can see this output which is correct: Version:
ImageMagick 7.0.11-13 Q16 x86_64 2021-05-17 https://imagemagick.org Copyright: (C) 1999-2021 ImageMagick Studio LLC License: https://imagemagick.org/script/license.php Features: Cipher DPC HDRI Modules OpenMP(4.5) Delegates (built-in): bzlib cairo djvu fontconfig freetype gslib jng jp2 jpeg lcms ltdl lzma openexr pangocairo png ps raqm raw rsvg tiff webp wmf x xml zlib
Initially, for me too, this 'Delegates(build-in)' section was coming blank, when I kept trying hard using yum command.
Related videos on Youtube
Comments
-
gvanto almost 2 years
Ubuntu 14.04:
I've downloaded the latest imagemagick source and installed, using option below to configure:
root@usve59445:~/im/ImageMagick-6.9.3-7# ./configure --enable-shared --with-png=yes
After installation however, I have zero items in my built-in list of delegates:
root@usve59445:~/im/ImageMagick-6.9.3-7# identify -version Version: ImageMagick 6.9.3-7 Q16 x86_64 2016-03-14 Copyright: Copyright (C) 1999-2016 ImageMagick Studio LLC License: Features: Cipher DPC OpenMP Delegates (built-in):
Issue I am getting is 'no delegate for format PNG found' when doing a
convert
command.I installed the libpng delegate from: http://www.imagemagick.org/download/delegates/
Extracted the libpng1621.tar.gz into its own folder, then: Ran configure, make, make install (no error messages)
Now when I try and recompile imagemagick, it still says ' Checking for PNG ... no' and --with-png value has 'no' (even though I configure it with --with-png=yes ).
Not sure what I am doing wrong?
Trying to recompile IM using:
root@usve59445:~/im/ImageMagick-6.9.3-7# ./configure --enable-shared=yes --with-png=yes LDFLAGS='-L/usr/local/lib' LIBS=-lpng16
(I think I am using the correct LDFLAGS, but not sure)
root@usve59445:~/im/libpng-1.6.21# libpng16-config --L_opts -L/usr/local/lib root@usve59445:~/im/libpng-1.6.21# libpng16-config --libs -lpng16 root@usve59445:~/im/libpng-1.6.21# locate libpng /lib/x86_64-linux-gnu/libpng12.so.0 /lib/x86_64-linux-gnu/libpng12.so.0.46.0 /usr/bin/libpng-config /usr/bin/libpng12-config /usr/include/libpng /usr/include/libpng12 /usr/include/libpng12/png.h /usr/include/libpng12/pngconf.h /usr/lib/x86_64-linux-gnu/libpng.a /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libpng.so.3 /usr/lib/x86_64-linux-gnu/libpng12.a /usr/lib/x86_64-linux-gnu/libpng12.so /usr/lib/x86_64-linux-gnu/libpng12.so.0 /usr/lib/x86_64-linux-gnu/pkgconfig/libpng.pc /usr/lib/x86_64-linux-gnu/pkgconfig/libpng12.pc /usr/local/bin/libpng-config /usr/local/bin/libpng16-config /usr/local/include/libpng16 /usr/local/include/libpng16/png.h /usr/local/include/libpng16/pngconf.h /usr/local/include/libpng16/pnglibconf.h /usr/local/lib/libpng.a /usr/local/lib/libpng.la /usr/local/lib/libpng.so /usr/local/lib/libpng16.a /usr/local/lib/libpng16.la /usr/local/lib/libpng16.so /usr/local/lib/libpng16.so.16 /usr/local/lib/libpng16.so.16.21.0 /usr/local/lib/pkgconfig/libpng.pc /usr/local/lib/pkgconfig/libpng16.pc /usr/local/share/man/man3/libpng.3 /usr/local/share/man/man3/libpngpf.3 /usr/share/doc/libpng12-0 /usr/share/doc/libpng12-dev /usr/share/doc/libpng3 /usr/share/doc/libpng12-0/ANNOUNCE /usr/share/doc/libpng12-0/KNOWNBUG /usr/share/doc/libpng12-0/README.Debian /usr/share/doc/libpng12-0/README.gz /usr/share/doc/libpng12-0/TODO /usr/share/doc/libpng12-0/changelog.Debian.gz /usr/share/doc/libpng12-0/copyright /usr/share/doc/libpng12-0/libpng-1.2.46.txt.gz /usr/share/doc/libpng12-dev/changelog.Debian.gz /usr/share/doc/libpng12-dev/copyright /usr/share/doc/libpng12-dev/examples /usr/share/doc/libpng12-dev/examples/example.c.gz /usr/share/doc/libpng12-dev/examples/pngtest.c.gz /usr/share/doc/libpng12-dev/examples/pngtest.png /usr/share/doc-base/libpng12 /usr/share/man/man1/libpng-config.1.gz /usr/share/man/man1/libpng12-config.1.gz /usr/share/man/man3/libpng.3.gz /var/cache/apt/archives/libpng12-0_1.2.46-3ubuntu4.2_amd64.deb /var/cache/apt/archives/libpng12-dev_1.2.46-3ubuntu4.2_amd64.deb /var/cache/apt/archives/libpng3_1.2.46-3ubuntu4.2_amd64.deb /var/lib/dpkg/info/libpng12-0:amd64.list /var/lib/dpkg/info/libpng12-0:amd64.md5sums /var/lib/dpkg/info/libpng12-0:amd64.postinst /var/lib/dpkg/info/libpng12-0:amd64.postrm /var/lib/dpkg/info/libpng12-0:amd64.shlibs /var/lib/dpkg/info/libpng12-dev.list /var/lib/dpkg/info/libpng12-dev.md5sums /var/lib/dpkg/info/libpng3:amd64.list
-
gvanto over 8 yearsInstalled libpng via this also: apt-get install libpng12-0 - Still getting same checking PNG ... no (no delegate found). Installed libjpeg62 via apt-get, did a recompile of IM and it appears successfully in the delegates list - just PNG does not work!!
-
muru over 8 yearsYou have to install the
-dev
packages (libpng12-dev
, perhaps), for building software with a library. -
gvanto over 8 yearsHi muru, thanks already did that, not working. Trying to use the --x-libraries option like this guy did: stackoverflow.com/questions/28237800/… But 'locate libpng' gives me a lot of different locations (added to question above), not sure which one I should use? (have tried a few, none of which seem to get PNG compiled into IM).
-
gvanto over 8 yearsSpent many hours on this now with no luck. Willing to send a paypal of $50 for anyone with a (working) advice
-
-
gvanto over 8 yearsThis works, thanks so much andrew.46!!!! What is your paypal email? (can send via private IM if possible)
-
andrew.46 over 8 yearsGreat to hear that it all works! I do not want money, I prefer to do this as an Open Source thing but thanks for the thought :).
-
Scott Jungwirth over 6 yearsafter hours of other "answers" this one finally worked for me. I think the critical part for me was the known dependencies and
sudo apt-get build-dep imagemagick
. Thanks! -
andrew.46 over 6 years@ScottJungwirth Great news! I have not tested thins answer for a while but I see a small stream of editors have been bumping the version :)
-
RBV about 6 yearsThanks -- this mostly worked. Still some errors reported on Linux Mint 32-bit. So I performed the && chained commands on single lines. It seems insane to me how difficult it was/is to get imagemagick in a state where it can do a bit of useful work...
-
kim holder about 6 yearsThis solution on 18.04 now only helps with a few things. Which is still significant, because i too have been struggling with this all day. The package is now 7.0.7-37, and the code was adjusted accordingly. Checkinstall now fails. The Delegates list for me after doing this reads - mpeg freetype jng jpeg png ps xml zlib. The thing i really need is missing - tif. Just an update.
-
andrew.46 about 6 years@kimholder I am wary of adjusting this answer for 18.04 as the original question dealth with 14.04 = a long time ago!
-
kim holder about 6 yearsSure, that's fair enough. I am focussing now on trying to install the delegate packages offered by ImageMagick. I am looking at the currently empty folder usr/local/lib/ImageMagick-7.0.7/config-Q16HDRI and wondering if they should be installed there.
-
kim holder about 6 yearsYou maybe would have input on my related question, askubuntu.com/q/1042436/364597
-
Michael almost 6 yearsIs there anyway to uninstall the insane amount of packages that 'build-dep' installed once you compiled imagemagick? Do I just need the binaries for it to work?
-
andrew.46 almost 6 years@Michael Probably best not to try and weed out too much as for sure there will be some breakage :(. However if you are keen have a look at
ldd
for the various executables that come with imagemagick. Sounds like too much hard work to me though.... -
Michael almost 6 years@andrew.46 - Thanks and I agree. Also, I'm worried about security issues with so many packages being installed. I'm looking into dropping ImageMagick, maybe ubuntu has a safer more compatible library for 14.04, or maybe just resizing png's in php itself.
-
Clonkex over 4 yearsAs an outsider and primarily a Windows user, this seems exceedingly overcomplicated. Why does IM not simply handle this stuff on its own? Why do I have to go to such great lengths just to get basic PNG support? Sigh. This is why I don't use Linux except for dev work...
-
Admin almost 2 yearsNote that mixing and matching package managers (
dpkg
/apt
versusdnf
/yum
in your proposed case) is rarely a good idea, because, although installed packages might work, they can have dependencies — and each system will handle them differently (and not know about the other system's dependencies). At best, you get a few broken packages here and there while 'trying hard using yum'; at worst, you might actually replace mission-critical components (such aslibc
) which can totally brick your system. Tread carefully! Installing from.deb
packages is always a better idea...