⚠️ Ini adalah situs terjemahan tidak resmi dan tidak berafiliasi dengan ImageMagick Studio LLC. Untuk informasi resmi, lihat halaman asli (https://imagemagick.org/advanced-linux-installation/).

Unduh & ekstrak • Konfigurasi • Build • Instalasi • Petunjuk build khusus Linux • Petunjuk build khusus macOS • Petunjuk build khusus MinGW • Menangani masalah tak terduga

Bisa jadi Anda tidak ingin repot dengan instalasi tingkat lanjut di Linux atau sistem serupa Linux. Jika demikian, Anda juga punya opsi untuk menginstal rilis biner yang sudah dikompilasi, atau jika tetap ingin menginstal dari source tanpa ribet, lihat petunjuk sederhana Instal dari source. Namun, jika Anda ingin menyesuaikan konfigurasi dan instalasi ImageMagick di Linux atau sistem serupa Linux, mari kita mulai.

Unduh & ekstrak

ImageMagick dapat dibangun (build) pada berbagai sistem operasi Linux dan yang serupa Linux, termasuk Linux, Solaris, FreeBSD, macOS, dan lainnya. Diperlukan kompiler, dan untungnya hampir semua sistem Linux modern sudah memilikinya. Unduh ImageMagick-7.1.2-25.7z dari GitHub.

Ekstrak distribusinya dengan perintah berikut:

tar xvzf ImageMagick.tar.gz

Setelah distribusi source ImageMagick Linux/Linux ini diekstrak, mari kita konfigurasikan.

Konfigurasi

Skrip configure memeriksa lingkungan Anda dan menentukan apa saja yang bisa dirangkai untuk mengompilasi dan menginstal ImageMagick di sistem Anda. Ini mencakup menemukan kompiler, lokasi file header kompiler Anda (misalnya stdlib.h), dan apakah ada pustaka (library) delegate yang tersedia untuk digunakan ImageMagick (misalnya JPEG, PNG, TIFF, dll.). Jika Anda bersedia menerima opsi default configure dan melakukan build dari dalam direktori source, cukup ketik:

cd ImageMagick-7.1.2-25
./configure

Perhatikan output skrip configure untuk memastikan semua yang Anda harapkan benar-benar ditemukan. Perhatikan khususnya baris-baris terakhir dari output skrip tersebut. Sebagai contoh, berikut laporan terbaru dari sistem kami:

ImageMagick 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                     Value
-------------------------------------------------------------------------------
Shared libraries  --enable-shared=yes       yes
Static libraries  --enable-static=yes       yes
Module support    --with-modules=yes        yes
GNU ld            --with-gnu-ld=yes     yes
Quantum depth     --with-quantum-depth=16   16
High Dynamic Range Imagery
                  --enable-hdri=no      no

Delegate Configuration:
BZLIB             --with-bzlib=yes      yes
Autotrace         --with-autotrace=yes  yes
DJVU              --with-djvu=yes       no
DPS               --with-dps=yes        no
FlashPIX          --with-fpx=yes        no
FontConfig        --with-fontconfig=yes yes
FreeType          --with-freetype=yes       yes
GhostPCL          None          pcl6 (unknown)
GhostXPS          None          gxps (unknown)
Ghostscript       None          gs (8.63)
result_ghostscript_font_dir='none'
Ghostscript fonts --with-gs-font-dir=default
Ghostscript lib   --with-gslib=yes      no (failed tests)
Graphviz          --with-gvc=yes        yes
JBIG              --with-jbig=      no
JPEG v1           --with-jpeg=yes       yes
JPEG-2000         --with-jp2=yes        yes
LCMS              --with-lcms=yes       yes
LQR               --with-lqr=yes        no
Magick++          --with-magick-plus-plus=yes   yes
OpenEXR           --with-openexr=yes        yes
PERL              --with-perl=yes       /usr/bin/perl
PNG               --with-png=yes        yes
RSVG              --with-rsvg=yes       yes
TIFF              --with-tiff=yes       yes
result_windows_font_dir='none'
Windows fonts     --with-windows-font-dir=
WMF               --with-wmf=yes        yes
X11               --with-x=         yes
XML               --with-xml=yes        yes
ZLIB              --with-zlib=yes       yes

X11 Configuration:
      X_CFLAGS        =
      X_PRE_LIBS      = -lSM -lICE
      X_LIBS          =
      X_EXTRA_LIBS    =

Options used to compile and link:
  PREFIX          = /usr/local
  EXEC-PREFIX     = /usr/local
  VERSION         = 6.4.8
  CC              = gcc -std=gnu99
  CFLAGS          = -fopenmp -g -O2 -Wall -W -pthread
  MAGICK_CFLAGS   = -fopenmp -g -O2 -Wall -W -pthread
  CPPFLAGS        = -I/usr/local/include/ImageMagick
  PCFLAGS         = -fopenmp
  DEFS            = -DHAVE_CONFIG_H
  LDFLAGS         = -lfreetype
  MAGICK_LDFLAGS  = -L/usr/local/lib -lfreetype
  LIBS            = -lMagickCore-Q16 -llcms -ltiff -lfreetype -ljpeg -lfontconfig -lXext
                    -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lgomp -lpthread -lltdl
  CXX             = g++
  CXXFLAGS        = -g -O2 -Wall -W -pthread

Anda dapat memengaruhi pilihan kompiler, flag kompilasi, atau pustaka dari skrip configure dengan menetapkan nilai awal untuk variabel pada baris perintah configure. Variabel tersebut antara lain:

CC
Nama kompiler C (misalnya cc -Xa) yang akan digunakan.
CXX
Nama kompiler C++ yang akan digunakan (misalnya CC).
CFLAGS
Flag kompiler (misalnya -g -O2) untuk mengompilasi kode C.
CXXFLAGS
Flag kompiler (misalnya -g -O2) untuk mengompilasi kode C++.
CPPFLAGS
Path include (misalnya -I/usr/local) untuk mencari file header.
LDFLAGS
Path pustaka (misalnya -L/usr/local) untuk mencari pustaka. Pada sistem yang mendukung konsep run-path pustaka, mungkin diperlukan argumen tambahan agar pustaka bersama dapat ditemukan saat run time. Misalnya, linker Solaris memerlukan argumen berbentuk -R/path. Sebagian sistem Linux bekerja dengan -rpath /usr/local/lib, sedangkan sebagian sistem Linux lain yang gcc-nya tidak meneruskan -rpath ke linker memerlukan argumen berbentuk -Wl,-rpath,/usr/local/lib.
LIBS
Pustaka tambahan (misalnya -l/usr/local/lib) yang diperlukan untuk linking.

Berikut contoh menetapkan variabel configure dari baris perintah:

configure CC=c99 CFLAGS=-O2 LDFLAGS='-L/usr/local/lib -R/usr/local/lib' LIBS=-lposix

Variabel apa pun (misalnya CPPFLAGS atau LDFLAGS) yang memerlukan path direktori harus menyebutkan path absolut, bukan path relatif.

Biasanya configure dapat menemukan file include dan pustaka X secara otomatis, tetapi jika tidak, Anda dapat menggunakan opsi --x-includes=path dan --x-libraries=path untuk menentukan lokasinya.

Skrip configure menyediakan sejumlah opsi khusus ImageMagick. Saat menonaktifkan sebuah opsi, --disable-something setara dengan menetapkan --enable-something=no, dan --without-something setara dengan --with-something=no. Opsi configure adalah sebagai berikut (jalankan configure --help untuk melihat semua opsi).

Opsi ImageMagick mewakili fitur yang bisa diaktifkan atau dinonaktifkan, atau paket yang disertakan dalam build. Saat fitur diaktifkan (lewat --enable-something), kode yang sudah ada di ImageMagick akan diaktifkan. Saat paket diaktifkan (lewat --with-something), skrip configure akan mencarinya, dan jika sudah terinstal dengan benar serta siap digunakan (header dan pustaka hasil build ditemukan oleh kompiler), paket tersebut akan disertakan dalam build. Skrip configure disediakan dengan semua fitur dalam keadaan nonaktif dan semua paket dalam keadaan aktif. Secara umum, satu-satunya alasan menonaktifkan sebuah paket adalah jika paket tersebut ada tetapi tidak cocok untuk build (mungkin versinya lama atau tidak dikompilasi dengan flag kompilasi yang tepat).

Berikut fitur opsional yang dapat Anda konfigurasikan:

--enable-shared

membangun pustaka bersama dan dukungan untuk memuat modul coder dan proses. Pustaka bersama lebih disukai karena memungkinkan program saling berbagi kode umum, sehingga masing-masing program menjadi jauh lebih kecil. Selain itu, pustaka bersama diperlukan agar PerlMagick dapat dimuat secara dinamis oleh PERL yang terinstal (jika tidak, PERL tambahan (PerlMagick) harus diinstal).

ImageMagick yang dibangun dengan delegate (lihat MAGICK PLUG-INS di bawah) dapat menimbulkan tantangan tambahan. Jika ImageMagick dibangun menggunakan pustaka statis (default tanpa --enable-shared), maka pustaka delegate boleh dibangun sebagai pustaka statis maupun pustaka bersama. Namun, jika ImageMagick dibangun menggunakan pustaka bersama, semua pustaka delegate juga harus dibangun sebagai pustaka bersama. Pustaka statis biasanya berekstensi .a, sedangkan pustaka bersama umumnya berekstensi seperti .so, .sa, atau .dll. Kode dalam pustaka bersama normalnya harus dikompilasi menggunakan opsi kompiler khusus untuk menghasilkan Position Independent Code (PIC). Hal ini tidak diperlukan hanya jika platform mengompilasi kode sebagai PIC secara default.

Flag kompilasi PIC berbeda-beda antar vendor (untuk gcc adalah -fPIC). Namun, Anda harus mengompilasi semua source pustaka bersama dengan flag yang sama (untuk gcc gunakan -fPIC, bukan -fpic). Pustaka statis biasanya dibuat menggunakan alat arsip seperti ar, sedangkan pustaka bersama dibangun menggunakan opsi linker atau kompiler khusus (misalnya -shared untuk gcc).

Jika --enable-shared tidak ditentukan, interpreter PERL baru (PerlMagick) dibangun dengan tertaut statis ke ekstensi PerlMagick. Interpreter baru ini diinstal ke direktori yang sama dengan utilitas ImageMagick. Jika --enable-shared ditentukan, ekstensi PerlMagick dibangun sebagai objek yang dapat dimuat secara dinamis, yang dimuat ke interpreter PERL Anda saat ini pada run time. Penggunaan ekstensi yang dimuat secara dinamis lebih disukai daripada ekstensi yang tertaut statis, jadi gunakan --enable-shared jika memungkinkan (perhatikan bahwa semua pustaka yang digunakan bersama ImageMagick harus berupa pustaka bersama!).
--disable-static

pustaka arsip statis (berekstensi .a) tidak dibangun. Jika Anda membangun pustaka bersama, membangun pustaka statis hampir tidak ada gunanya. Alasan untuk membangun pustaka statis antara lain: 1) lebih mudah di-debug; 2) klien tidak memiliki dependensi eksternal (misalnya libMagick.so); 3) membangun versi PIC dari pustaka delegate mungkin memerlukan keahlian dan upaya tambahan; 4) Anda tidak dapat membangun pustaka bersama.
--disable-installed

menonaktifkan pembangunan ImageMagick yang terinstal (default aktif).

Secara default, build ImageMagick dikonfigurasikan untuk diinstal secara resmi ke dalam struktur direktori. Ini adalah cara paling aman dan andal untuk menginstal ImageMagick. Gunakan opsi ini untuk mengonfigurasi ImageMagick agar tidak menggunakan path yang di-hardcode, dan menemukan file pendukung dengan menghitung path offset dari executable (atau dari lokasi yang ditentukan oleh variabel lingkungan MAGICK_HOME). Konfigurasi tanpa instalasi ini ideal untuk distribusi biner yang diharapkan dapat diekstrak dan dijalankan di lokasi mana pun.
--enable-ccmalloc

mengaktifkan dukungan debug memori 'ccmalloc' (default nonaktif).
--enable-prof

mengaktifkan dukungan profiling 'prof' (default nonaktif).
--enable-gprof

mengaktifkan dukungan profiling 'gprof' (default nonaktif).
--enable-gcov

mengaktifkan dukungan profiling 'gcov' (default nonaktif).
--disable-openmp

menonaktifkan OpenMP (default aktif).

Algoritme ImageMagick tertentu, misalnya konvolusi, dapat memperoleh percepatan yang signifikan dengan bantuan API OpenMP saat berjalan pada prosesor dual-core dan quad-core modern.
--disable-largefile

menonaktifkan dukungan untuk offset file besar (64 bit).

Secara default, ImageMagick dikompilasi dengan dukungan untuk file besar (> 2GB pada CPU 32-bit) jika sistem operasi mendukung file besar. Sebagian aplikasi yang menggunakan pustaka ImageMagick mungkin juga memerlukan dukungan untuk file besar. Dengan menonaktifkan dukungan file besar lewat --disable-largefile, aplikasi yang bergantung padanya tidak memerlukan opsi kompilasi khusus untuk file besar guna menggunakan pustaka tersebut.

Berikut paket opsional yang dapat Anda konfigurasikan:

--with-quantum-depth

jumlah bit dalam satu quantum piksel (default 16).

Gunakan opsi ini untuk menentukan jumlah bit yang dipakai per quantum piksel (ukuran komponen piksel merah, hijau, biru, dan alfa). Misalnya, --with-quantum-depth=8 membangun ImageMagick menggunakan quantum 8-bit. Sebagian besar adaptor tampilan komputer menggunakan quantum 8-bit. Argumen yang saat ini didukung adalah 8, 16, atau 32. Kami merekomendasikan nilai default 16 karena sebagian format gambar mendukung 16 bit per piksel. Namun, opsi ini penting dalam menentukan performa run-time ImageMagick secara keseluruhan.

Jumlah bit dalam satu quantum menentukan berapa banyak nilai yang dapat ditampungnya. Setiap level quantum mendukung nilai 256 kali lebih banyak daripada level sebelumnya. Tabel berikut menunjukkan rentang yang tersedia untuk berbagai ukuran quantum.

Quantum Depth     Valid Range (Decimal)   Valid Range (Hex)
    8             0-255                   00-FF
   16             0-65535                 0000-FFFF
   32             0-4294967295            00000000-FFFFFFFF

Quantum piksel yang lebih besar dapat membuat ImageMagick berjalan lebih lambat dan memerlukan lebih banyak memori. Misalnya, penggunaan quantum piksel 16-bit dapat membuat ImageMagick berjalan 15% hingga 50% lebih lambat (dan memakan memori dua kali lipat) dibandingkan saat dibangun untuk mendukung quantum piksel 8-bit.

Jumlah memori virtual yang dikonsumsi oleh sebuah gambar dapat dihitung dengan rumus (5 * Quantum Depth * Rows * Columns) / 8. Ini adalah pertimbangan penting saat sumber daya terbatas, terutama karena pemrosesan sebuah gambar mungkin memerlukan beberapa gambar berada di memori pada saat yang sama. Tabel berikut menunjukkan nilai konsumsi memori untuk gambar berukuran 1024x768:

Quantum Depth   Virtual Memory
     8               3MB
    16               8MB
    32              15MB

--enable-hdri

merepresentasikan rentang level intensitas yang luas secara akurat.
--enable-osx-universal-binary

membangun universal binary pada OS X.
--without-modules

menonaktifkan dukungan untuk modul yang dapat dimuat secara dinamis.

Coder gambar dan modul proses dibangun sebagai modul yang dapat dimuat, yang diinstal di bawah direktori [prefix]/lib/ImageMagick-X.X.X/modules-QN (di mana 'N' bernilai 8, 16, atau 32 tergantung kedalaman quantum) masing-masing di subdirektori coders dan filters. Opsi build modul hanya tersedia jika digunakan bersama --enable-shared. Jika --enable-shared tidak turut ditentukan, dukungan untuk membangun modul dinonaktifkan. Perhatikan bahwa jika --enable-shared dan --disable-modules ditentukan, pemuat modul (module loader) tetap aktif (memungkinkan perluasan ImageMagick yang sudah terinstal cukup dengan menyalin sebuah modul ke tempatnya), tetapi ImageMagick sendiri tidak dibangun menggunakan modul.
--with-cache

menetapkan ambang batas (threshold) cache piksel (default mengikuti memori yang tersedia).

Tentukan ambang batas cache piksel gambar yang berbeda dengan opsi ini. Opsi ini menetapkan jumlah maksimum memori heap yang boleh dikonsumsi ImageMagick sebelum beralih menggunakan file sementara yang di-memory-map untuk menyimpan data piksel mentah.
--without-threads

menonaktifkan dukungan thread.

Secara default, pustaka ImageMagick dikompilasi dengan dukungan multi-thread. Jika ini tidak diinginkan, tentukan --without-threads.
--with-frozenpaths

mengaktifkan path delegate yang dibekukan (frozen).

Normalnya, nama program eksternal disisipkan ke file konfigurasi delegates.xml tanpa path lengkap. Tentukan opsi ini untuk mengaktifkan penyimpanan path lengkap ke program menggunakan lokasi yang ditentukan oleh configure. Ini berguna untuk lingkungan tempat program disimpan di berbagai path, dan pengguna mungkin memakai pengaturan PATH yang berbeda dari orang yang membangun ImageMagick.
--without-magick-plus-plus

menonaktifkan build/instalasi Magick++.

Menonaktifkan pembangunan Magick++, antarmuka pemrograman aplikasi (API) C++ untuk ImageMagick. Diperlukan kompiler C++ yang sesuai untuk membangun Magick++. Tentukan variabel configure CXX untuk memilih kompiler C++ yang digunakan (default g++), dan CXXFLAGS untuk memilih flag optimisasi dan debug kompiler yang diinginkan (default -g -O2). Kompiler C++ yang sudah usang biasanya akan ditolak oleh pengujian configure, sehingga menentukan opsi ini seharusnya hanya diperlukan jika Magick++ gagal dikompilasi.
--without-perl

menonaktifkan build/instalasi PerlMagick, atau

Secara default, PerlMagick dikompilasi dan diinstal secara praktis sebagai bagian dari proses configure, make, sudo make install normal ImageMagick. Jika --without-perl ditentukan, Anda harus terlebih dahulu menginstal ImageMagick, mengunduh distribusi source PerlMagick, membangunnya, dan terakhir menginstal PerlMagick. Perhatikan, PerlMagick tetap dikonfigurasikan meskipun --without-perl ditentukan. Jika argumen --with-perl=/path/to/perl diberikan, /path/to/perl akan dipakai sebagai interpreter PERL yang digunakan. Ini penting jika executable perl pada PATH Anda bukan PERL5, atau bukan PERL yang ingin Anda gunakan.
--with-perl=PERL

menggunakan binary Perl yang ditentukan untuk mengonfigurasi PerlMagick.
--with-perl-options=OPTIONS

opsi yang diteruskan pada baris perintah saat membuat Makefile PerlMagick dari Makefile.PL.

Modul PerlMagick biasanya diinstal menggunakan PREFIX instalasi interpreter Perl, bukan milik ImageMagick. Jika prefix instalasi ImageMagick tidak sama dengan PREFIX PERL, Anda mungkin akan mendapati bahwa langkah sudo make install PerlMagick mencoba menginstal ke struktur direktori yang tidak Anda miliki izin tulisnya. Hal ini umum terjadi ketika PERL disertakan bersama sistem operasi atau pada server web Internet Service Provider (ISP). Jika Anda ingin PerlMagick diinstal di tempat lain, berikan opsi PREFIX pada langkah konfigurasi PERL lewat "--with-perl-options=PREFIX=/some/place". Opsi lain yang diterima MakeMaker adalah 'LIB', 'LIBPERL_A', 'LINKTYPE', dan 'OPTIMIZE'. Lihat halaman manual ExtUtils::MakeMaker(3) untuk informasi lebih lanjut tentang mengonfigurasi ekstensi PERL.
--without-bzlib

menonaktifkan dukungan BZLIB.
--without-dps

menonaktifkan dukungan Display Postscript.
--with-fpx

mengaktifkan dukungan FlashPIX.
--without-freetype

menonaktifkan dukungan TrueType.
--with-gslib

mengaktifkan dukungan pustaka Ghostscript.
--without-jbig

menonaktifkan dukungan JBIG.
--without-jpeg

menonaktifkan dukungan JPEG.
--without-jp2

menonaktifkan dukungan JPEG v2.
--without-lcms

menonaktifkan dukungan LCMS.
--without-lzma

menonaktifkan dukungan LZMA.
--without-png

menonaktifkan dukungan PNG.
--without-tiff

menonaktifkan dukungan TIFF.
--without-wmf

menonaktifkan dukungan WMF.
--with-fontpath

menambahkan di awal path pencarian font default.
--with-gs-font-dir

direktori yang berisi font Ghostscript.

Tentukan direktori yang berisi file font Postscript Type 1 Ghostscript (misalnya n022003l.pfb) agar dapat di-render menggunakan pustaka FreeType. Jika file font diinstal menggunakan path instalasi default Ghostscript (${prefix}/share/ghostscript/fonts), file tersebut seharusnya otomatis ditemukan oleh configure dan penentuan opsi ini tidak diperlukan. Tentukan opsi ini jika font Ghostscript gagal ditemukan secara otomatis, atau lokasinya perlu ditimpa (override).
--with-windows-font-dir

direktori yang berisi font MS-Windows.

Tentukan direktori yang berisi font yang kompatibel dengan MS-Windows. Ini tidak diperlukan saat ImageMagick berjalan di bawah MS-Windows.
--without-xml

menonaktifkan dukungan XML.
--without-zlib

menonaktifkan dukungan ZLIB.
--without-x

tidak menggunakan X Window System.

Secara default, ImageMagick menggunakan pustaka delegate X11 jika tersedia. Jika --without-x ditentukan, penggunaan X11 dinonaktifkan. Subperintah display, animate, dan import tidak disertakan. Subperintah lainnya memiliki fungsionalitas yang berkurang, seperti tidak adanya akses ke font X11 (pertimbangkan menggunakan font Postscript atau TrueType sebagai gantinya).
--with-share-path=DIR

Path alternatif ke direktori share (default share/ImageMagick).
--with-libstdc=DIR

menggunakan libstdc++ di DIR (untuk GNU C++).

Meskipun configure dirancang untuk mempermudah instalasi ImageMagick, configure sering menemukan masalah yang jika tidak akan baru dijumpai kemudian saat mengompilasi ImageMagick. Skrip configure menguji header dan pustaka dengan menjalankan kompiler (CC) menggunakan flag kompilasi (CFLAGS), flag pre-processor (CPPFLAGS), dan flag linker (LDFLAGS) yang ditentukan. Semua error dicatat ke file config.log. Jika configure gagal menemukan sebuah header atau pustaka, periksa file log ini untuk mengetahui penyebabnya. Namun, perlu diketahui bahwa error dalam config.log itu wajar karena configure bekerja dengan mencoba sesuatu dan melihat apakah gagal. Error dalam config.log hanya menjadi masalah jika pengujian tersebut seharusnya berhasil di sistem Anda.

Penyebab umum kegagalan configure adalah: 1) header delegate tidak berada di path include header (opsi CPPFLAGS -I); 2) pustaka delegate tidak berada di path pencarian/run linker (opsi LDFLAGS -L/-R); 3) pustaka delegate kehilangan sebuah fungsi (versi lama?); atau 4) lingkungan kompilasi bermasalah.

Jika semua tindakan perbaikan yang wajar sudah dicoba dan masalahnya tampak disebabkan oleh cacat pada skrip configure, kirimkan laporan bug ke ImageMagick Defect Support Forum. Semua laporan bug sebaiknya mencantumkan jenis sistem operasi (seperti yang dilaporkan oleh uname -a) serta kompiler/versi kompiler. Salinan output skrip configure dan/atau bagian file config.log yang relevan dapat sangat membantu untuk menemukan masalahnya. Jika Anda memposting sebagian dari config.log, sertakan juga rekaman output configure dan deskripsi apa yang Anda harapkan terlihat (dan mengapa), agar kegagalan yang Anda amati dapat diidentifikasi dan diselesaikan.

ImageMagick sekarang sudah dikonfigurasikan dan siap untuk di-build

Build

Setelah ImageMagick dikonfigurasikan, target build standar berikut tersedia dari file make yang dihasilkan:

make
Membangun ImageMagick.
sudo make install
Menginstal ImageMagick.
make check
Menjalankan pengujian menggunakan ImageMagick yang sudah terinstal (sudo make install harus dilakukan terlebih dahulu). Ghostscript dan Freetype adalah prasyarat; jika tidak, unit test tertentu yang me-render teks serta format EPS, PS, dan PDF kemungkinan besar akan gagal. Unit test ini memerlukan kebijakan keamanan open agar dapat lulus.
make clean
Menghapus semua isi dalam direktori build yang dibuat oleh make.
make distclean
menghapus semua isi dalam direktori build yang dibuat oleh configure dan make. Ini berguna jika Anda ingin memulai dari awal.
make uninstall
Menghapus semua file dari sistem yang terinstal (atau akan terinstal) oleh sudo make install menggunakan konfigurasi saat ini. Perhatikan bahwa target ini tidak sempurna untuk PerlMagick karena Perl tidak lagi mendukung target uninstall.

Dalam kebanyakan kasus, Anda cukup ingin mengompilasi ImageMagick dengan perintah berikut:

make

Setelah dibangun, Anda dapat secara opsional menginstal ImageMagick di sistem Anda seperti dibahas di bawah ini.

Instalasi

Setelah ImageMagick dikonfigurasikan dan dibangun, ketik:

make install

untuk menginstalnya.

Secara default, ImageMagick menginstal biner di /usr/local/bin, pustaka di /usr/local/lib, file header di /usr/local/include, dan dokumentasi di /usr/local/share. Anda dapat menentukan prefix instalasi alternatif selain /usr/local dengan memberikan opsi --prefix=PATH ke configure. Ini berguna jika Anda tidak memiliki izin untuk menginstal di path default, atau jika Anda ingin menginstal ke direktori sistem sebagai gantinya.

Untuk memastikan instalasi distribusi ImageMagick Anda berhasil, pastikan direktori instalasi berada dalam path pencarian executable Anda, lalu ketik:

magick logo: logo.gif
identify logo.gif

Logo ImageMagick ditampilkan pada display X11 Anda.

Untuk memverifikasi konfigurasi build ImageMagick, ketik:

magick identify -list configure

Untuk menampilkan daftar format gambar yang didukung, ketik:

magick identify -list format

Untuk pengujian yang lebih menyeluruh, jalankan test suite ImageMagick dengan mengetik:

make check

Ghostscript adalah prasyarat; jika tidak, pengujian EPS, PS, dan PDF akan gagal. Perhatikan bahwa karena perbedaan antara lingkungan developer dan lingkungan Anda, ada kemungkinan beberapa pengujian gagal meskipun hasilnya sebenarnya baik-baik saja. Perbedaan antara lingkungan developer dan lingkungan Anda dapat mencakup kompiler, jenis CPU, dan versi pustaka yang digunakan. Developer ImageMagick menggunakan rilis terbaru dari semua pustaka dependensi.

Petunjuk build khusus Linux

Unduh ImageMagick.src.rpm dari imagemagick.org atau mirror-nya.

Bangun ImageMagick dengan perintah berikut:

rpmbuild --rebuild ImageMagick.src.rpm

Setelah build selesai, cari direktori RPMS dan instal distribusi RPM biner ImageMagick:

rpm -ivh ImageMagick-7.1.2.-?.*.rpm

Petunjuk build khusus macOS

Lakukan langkah-langkah berikut sebagai administrator atau dengan perintah sudo:

Instal MacPorts. Unduh dan instal MacPorts, lalu ketik perintah berikut:

sudo port -v install freetype +bytecode
sudo port -v install librsvg
sudo port -v install graphviz +gs +wmf +jbig +jpeg2 +lcms

Ini akan menginstal banyak pustaka delegate yang akan digunakan ImageMagick, seperti JPEG dan FreeType.

Instal Xcode terbaru dari Apple.

Gunakan perintah port untuk menginstal pustaka delegate apa pun yang Anda perlukan, misalnya:

sudo port install jpeg

Sekarang mari kita bangun ImageMagick:

Unduh distribusi source ImageMagick dan verifikasi distribusi tersebut terhadap provenance-nya.

Ekstrak dan masuk ke direktori tingkat atas ImageMagick:

tar xvzf ImageMagick-7.1.2-25.tar.gz
cd ImageMagick-7.1.2-25

Konfigurasikan ImageMagick:

./configure --prefix=/opt --with-quantum-depth=16 \
  --disable-dependency-tracking --with-x=yes \
  --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib/ \
  --without-perl"

Bangun ImageMagick:

make

Instal ImageMagick:

sudo make install

Untuk memverifikasi instalasi Anda, ketik

/opt/local/bin/identify -list font

untuk menampilkan daftar semua font yang dikenali ImageMagick.

Untuk menguji GUI ImageMagick, pada shell baru, ketik:

display -display :0

Petunjuk build khusus MinGW

Meskipun Anda dapat mengunduh dan menginstal sendiri pustaka delegate, banyak di antaranya sudah tersedia dalam distribusi GnuWin32. Unduh dan instal pustaka delegate apa pun yang Anda perlukan, seperti JPEG, PNG, TIFF, dll. Pastikan Anda menyertakan header development saat menginstal sebuah paket. Selanjutnya, ketik,

tar jxvf ImageMagick-7.1.2-?.tar.bz2
cd ImageMagick-7.1.2-25
export CPPFLAGS="-Ic:/Progra~1/GnuWin32/include"
export LDFLAGS="-Lc:/Progra~1/GnuWin32/lib"
./configure --without-perl
make
sudo make install

Menangani masalah tak terduga

Kemungkinan besar proses unduh, configure, build, dan instal ImageMagick berjalan mulus sesuai rencana. Namun, sistem dan lingkungan tertentu dapat menyebabkan satu atau lebih langkah gagal. Kami membahas beberapa masalah yang pernah kami temui dan cara mengambil tindakan perbaikan agar Anda memiliki rilis ImageMagick yang berfungsi

Masalah build

Jika build mengeluhkan dependensi yang hilang (misalnya .deps/source.PLO), tambahkan --disable-dependency-tracking ke baris perintah configure Anda.

Sebagian sistem mungkin gagal melakukan link saat build karena simbol yang tidak terselesaikan (unresolved symbols). Coba tambahkan LDFLAGS ke baris perintah configure:

configure LDFLAGS='-L/usr/local/lib -R/usr/local/lib'

Binding runtime dynamic linker

Pada sebagian sistem, ImageMagick mungkin tidak menemukan pustaka bersamanya, libMagick.so. Coba jalankan ldconfig dengan path pustaka:

/sbin/ldconfig /usr/local/lib

Sistem Solaris dan Linux memiliki perintah ldd yang berguna untuk melacak pustaka apa saja yang menjadi dependensi ImageMagick:

ldd `which convert`

Pustaka Delegate

Sesekali Anda mungkin menerima peringatan berikut:

no decode delegate for this image format
no encode delegate for this image format

Pengecualian ini menunjukkan bahwa pustaka delegate eksternal atau header-nya tidak tersedia saat ImageMagick dibangun. Untuk menambahkan dukungan format gambar tersebut, unduh dan instal pustaka delegate yang diperlukan beserta file header-nya, lalu konfigurasikan, bangun, dan instal ulang ImageMagick. Sebagai contoh, mari kita tambahkan dukungan untuk format gambar JPEG. Pertama, kita instal JPEG RPMS:

yum install libjpeg libjpeg-devel

Sekarang konfigurasikan, bangun, dan instal ulang ImageMagick. Untuk memverifikasi bahwa JPEG kini didukung dengan benar dalam ImageMagick, gunakan perintah ini:

magick identify -list format

Anda akan melihat mode rw- yang terkait dengan tag JPEG. Mode ini berarti gambar dapat dibaca atau ditulis, dan hanya dapat mendukung satu gambar per file gambar.

PerlMagick

Jika PerlMagick gagal melakukan link dengan pesan yang mirip dengan libperl.a is not found, jalankan ulang configure dengan opsi --enable-shared atau --enable-shared --with-modules.