7

I've tried to find a simple explanation for several hours but I just can't seem to find anything useful. I'm primarily a Windows programmer with some experience with Linux-based OSes. For some reason doing apt install imagemagick only gives me a really old version (pre-2012) and there's a change in the later versions that I need, which means I need to build from source.

Compiling IM 7 on Ubuntu 18.04 is simple enough: Download tar.gz, extract, ./configure, make and make install. However it seems that PNG support is not included by default (why??).

I've tried doing ./configure --with-png but that didn't achieve anything (I see --with-png=yes no, which presumably means "yes, you've asked for PNG support but no, I haven't given it to you"). I've seen many forum posts and SE questions about this, but everyone asking seems to have some prior knowledge which I am clearly missing and the questions appear to be about some later step in the process.

So, what do I actually need to do to get PNG support?

(And as some bonus questions: Why is there no documentation for this? Why does it not include PNG support out of the box? Why are there no prebuilt binaries for Ubuntu?)

Related question: Imagemagick still exists after apt remove?

6
  • Have you installed libpng and libpng-devel with apt? The png support is enabled by default in 7.x and should work. Mar 12, 2020 at 0:14
  • Try to install it using apt first. It should install dependencies. Then remove imagemagick without removing its dependencies and try again your manual compilation.
    – Gryu
    Mar 12, 2020 at 0:27
  • @Gryu How do I remove imagemagick without removing its dependencies?
    – Clonkex
    Mar 12, 2020 at 0:29
  • sudo apt remove imagemagick removes only imagemagick. What is your imagemagick version from repositories?
    – Gryu
    Mar 12, 2020 at 0:31
  • 1
    @Gryu If you mean the version I get with apt install, it said Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114. Though since building from source I seem to only get the new (PNG-less) version when I run (for example) magick -version
    – Clonkex
    Mar 12, 2020 at 0:37

3 Answers 3

5

I highly recommend ImageMagick Easy Install (IMEI):

https://github.com/SoftCreatR/imei/

It tracks down all the source/development libraries needed for the additional ImageMagick "delegates" (image formats in IM-speak). Plus, it can also incrementally update your local install from newer source after the initial installation.

Installation steps as of now:

git clone https://github.com/SoftCreatR/imei
cd imei
sudo ./imei.sh
2
  • 1
    You should at least provide som installation details from that link. Mar 15, 2021 at 13:21
  • 1
    Works like a charm.
    – SGL
    Apr 11, 2021 at 1:19
2

ImageMagick doesn't find libpng on its own. The simplest way to tell it how to find, compile and link with libpng is by installing libpng followed by pkg-config:

sudo apt install build-essential libpng-dev pkg-config
 

Now you can see if it works:

./configure | grep -i png

checking for libpng >= 1.0.0... yes
  PNG               --with-png=yes      yes
  CFLAGS          = -I/usr/include/libpng16  -fopenmp -Wall -g -O2 -mtune=amdfam10 -fexceptions -pthread -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16
  LIBS            =           -lpng16 -lz                         -lz     -lm    -lpthread 
  DELEGATES       = png zlib
1
  • "New contributor" with 166k on SO lol. Cheers for the answer; if I have to build IM again at some point I'll try this method :)
    – Clonkex
    Apr 7, 2022 at 21:59
0

I am not sure what error message you were getting, but I was getting convert: no decode delegate for this image format `JPG' @ error/constitute.c/ReadImage/562 when working with jpegs with a fresh ImageMagick install from source.

To resolve it:

  1. uncomment deb-src http://us.archive.ubuntu.com/ubuntu/ bionic main restricted in /etc/apt/sources.list

  2. install dependencies

sudo apt update
sudo apt build-dep imagemagick
  1. Reinstall ImageMagick
./configure
make
sudo make install
sudo ldconfig /usr/local/lib

source: https://linuxconfig.org/how-to-install-imagemagick-7-on-ubuntu-18-04-linux

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .