Skip to content

Instantly share code, notes, and snippets.

Last active November 20, 2022 14:26
  • Star 5 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save neoneye/00fad388e38f5b0361f66cc1a3b2f57e to your computer and use it in GitHub Desktop.
Install GraphicsMagick on AWS EC2 running Ubuntu Linux

I use GM to render thumbnails of png and jpg images.

Sadly the GM installation guide doesn't describe how to get things working on AWS EC2.

Prepare for installing GraphicsMagick

PROMPT> sudo apt-get update
PROMPT> sudo apt-get install libpng12-0
PROMPT> sudo apt-get install libjpeg-dev
PROMPT> sudo apt-get install ghostscript
PROMPT> sudo apt-get install libtiff5-dev
PROMPT> sudo apt-get install libfreetype6
PROMPT> sudo apt-get install libfreetype6-dev

Download GraphicsMagick's source code (9 MB). This takes about 10 minutes

PROMPT> wget

Unzip and configure GraphicsMagick

PROMPT> tar xzvf GraphicsMagick-1.3.26.tar.gz
PROMPT> cd GraphicsMagick-1.3.26
PROMPT> ./configure

Check that the result of configure looks like this

It must have png and jpg support, otherwise GraphicsMagick won't be to much help making thumbnails.

GraphicsMagick is configured as follows. Please verify that this
configuration matches your expectations.

Host system type : x86_64-unknown-linux-gnu
Build system type : x86_64-unknown-linux-gnu

Option            Configure option           	Configured value
Shared libraries  --enable-shared=no    	no
Static libraries  --enable-static=yes    	yes
GNU ld            --with-gnu-ld=yes        	yes
Quantum depth     --with-quantum-depth=8 	8
Modules           --with-modules=no        	no

Delegate Configuration:
BZLIB             --with-bzlib=yes          	no
DPS               --with-dps=yes              	no
FlashPIX          --with-fpx=no              	no
FreeType 2.0      --with-ttf=yes          	yes
Ghostscript       None                   	gs (9.18)
Ghostscript fonts --with-gs-font-dir=default    /usr/share/fonts/type1/gsfonts/
Ghostscript lib   --with-gslib=no       	no
JBIG              --with-jbig=yes        	yes
JPEG v1           --with-jpeg=yes        	yes
JPEG-2000         --with-jp2=yes          	no
LCMS v2           --with-lcms2=yes        	no
LZMA              --with-lzma=yes        	yes
Magick++          --with-magick-plus-plus=yes 	yes
PERL              --with-perl=no            	no
PNG               --with-png=yes          	yes (-lpng12)
TIFF              --with-tiff=yes        	yes
TRIO              --with-trio=yes        	no
WEBP              --with-webp=yes        	no
Windows fonts     --with-windows-font-dir=	none
WMF               --with-wmf=yes          	no
X11               --with-x=             	no
XML               --with-xml=yes          	yes
ZLIB              --with-zlib=yes        	yes

X11 Configuration:

  Not using X11.

Options used to compile and link:
  CC       = gcc
  CFLAGS   = -fopenmp -g -O2 -Wall -pthread
  CPPFLAGS = -I/usr/include/freetype2 -I/usr/include/libxml2
  CXX      = g++
  CXXFLAGS = -pthread
  LIBS     = -ljbig -ltiff -lfreetype -ljpeg -lpng12 -llzma -lxml2 -lz -lm -lgomp -lpthread

Compile GraphicsMagick

PROMPT> make
PROMPT> sudo make install

Check GraphicsMagick version

PROMPT> gm version
GraphicsMagick 1.3.26 2017-07-04 Q8
Copyright (C) 2002-2017 GraphicsMagick Group.

Obtain path to gm

PROMPT> which gm
Copy link

fosini commented Jun 28, 2018

Great, thanks.

Copy link

adityatandon007 commented Jun 29, 2018

Needed this, very badly. Thanks for the rescue buddy 👍

Copy link

Thank you so much.

In case libpng12-0 doesn't work install libpng-dev instead.

Copy link

nice instruction. thanks so much. one thing to added is to install the build tool if not already.

sudo apt-get install build-essential

Copy link

remember to reboot after all the steps above

Copy link

pmeisam commented Aug 17, 2021

it wasn't working, I had to install the build tool first sudo apt-get install build-essential
you are a lifesaver, thank you

Copy link

If you are having issues downloading from the FTP host, it was deprecated due to abuse.

It's recommended to download it from SourceForge



Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment