Questions and postings pertaining to the usage of ImageMagick regardless of the interface. This includes the command-line utilities, as well as the C and C++ APIs. Usage questions are like "How do I use ImageMagick to create drop shadows?".
I'm trying to install ImageMagick 6.6.1-10 on CentOS 5.x where ghostscript-devel and ghostscript are already installed.
Tests relating to ghostscript, though, are failing. See below for examples. Is there a particular version of ghostscript that ImageMagick 6.6.1-10 requires?
Package tcl-devel-8.4.13-4.el5.x86_64 already installed and latest version
Package tcl-devel-8.4.13-4.el5.i386 already installed and latest version
Package 2:libpng-devel-1.2.10-7.1.el5_3.2.x86_64 already installed and latest version
Package 2:libpng-devel-1.2.10-7.1.el5_3.2.i386 already installed and latest version
Package libjpeg-devel-6b-37.x86_64 already installed and latest version
Package libjpeg-devel-6b-37.i386 already installed and latest version
Package ghostscript-devel-8.15.2-9.11.el5.x86_64 already installed and latest version
Package ghostscript-devel-8.15.2-9.11.el5.i386 already installed and latest version
Package bzip2-devel-1.0.3-4.el5_2.x86_64 already installed and latest version
Package bzip2-devel-1.0.3-4.el5_2.i386 already installed and latest version
Package freetype-devel-2.2.1-21.el5_3.x86_64 already installed and latest version
Package freetype-devel-2.2.1-21.el5_3.i386 already installed and latest version
Package libtiff-devel-3.8.2-7.el5_3.4.x86_64 already installed and latest version
Package libtiff-devel-3.8.2-7.el5_3.4.i386 already installed and latest version
Package ghostscript-8.15.2-9.11.el5.x86_64 already installed and latest version
Package ghostscript-8.15.2-9.11.el5.i386 already installed and latest version
#!/bin/bash
#
# Declare all used variables
#
currentUser=`whoami`
downloadRequiresCredentials=true
imageMagickVersion="6.6.1-10"
imageMagickArchive="ImageMagick-${imageMagickVersion}.tar.gz"
imageMagickDownloadUrl="https://our_svn_url/${imageMagickArchive}"
imageMagickDownloadUrlDesc="JIRA SVN"
imageMagickDir="ImageMagick-${imageMagickVersion}"
imageMagickInstallDir="/opt/${imageMagickDir}"
imageMagickInstallVerifyExe="${imageMagickInstallDir}/bin/verify"
imageMagickSymLink="/opt/ImageMagick"
imageMagickSymLinkVerifyExe="${imageMagickSymLink}/bin/verify"
#
# Declare all utilized functions
#
function message()
{
if [ -n "$1" ]; then
echo ""
echo "$1"
echo ""
fi
return 0
}
function raiseFatal()
{
message "$1"
exit 1
}
function raiseError()
{
message "$1"
return 1
}
function fatalIfFailed()
{
if [ $? -ne 0 ]; then
raiseFatal "$1"
fi
}
function errorIfFailed()
{
if [ $? -ne 0 ]; then
raiseError "$1"
return 1
fi
}
function installDependencies()
{
message "Installing Dependencies..."
yum install tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype-devel libtiff-devel ghostscript
errorIfFailed "Could not use yum to install all required dependencies"
}
function downloadWithCredentials()
{
wget --user ${downloadUsername} --password ${downloadPassword} ${imageMagickDownloadUrl}
}
function downloadWithoutCredentials
{
wget ${imageMagickDownloadUrl}
}
function downloadArchive()
{
message "Retrieving ImageMagick archive from ${imageMagickDownloadUrlDesc}..."
if ${downloadRequiresCredentials}; then
downloadWithCredentials
else
downloadWithoutCredentials
fi
errorIfFailed "Could not access the ${imageMagickDownloadUrlDesc} URL"
if [ $? -ne 0 ]; then
return 1
fi
if [ ! -e ${imageMagickArchive} -o ! -f ${imageMagickArchive} -o ! -r ${imageMagickArchive} ]; then
raiseError "Cannot read the archive file ${imageMagickArchive}"
if [ $? -ne 0 ]; then
return 1
fi
fi
return 0
}
function extractArchive()
{
message "Extracting ImageMagick installation directory from archive..."
tar xfz ${imageMagickArchive}
errorIfFailed "Could not un-TAR the archive"
if [ $? -ne 0 ]; then
return 1
fi
if [ ! -e ${imageMagickDir} -o ! -d ${imageMagickDir} -o ! -r ${imageMagickDir} ]; then
raiseError "Cannot read the extracted directory ${imageMagickDir}"
if [ $? -ne 0 ]; then
return 1
fi
fi
return 0
}
function installImageMagick()
{
message "Installing ImageMagick..."
cd ${imageMagickDir} && \
./configure --prefix=${imageMagickInstallDir} --with-bzlib=yes --with-fontconfig=yes --with-freetype=yes --with-gslib=yes --with-gvc=yes --with-jpeg=yes --with-jp2=yes --with-png=yes --with-tiff=yes
if [ $? -ne 0 ]; then
return 1
fi
make clean
if [ $? -ne 0 ]; then
return 1
fi
make
if [ $? -ne 0 ]; then
return 1
fi
make install
if [ $? -ne 0 ]; then
return 1
fi
/sbin/ldconfig ${imageMagickInstallDir}
if [ $? -ne 0 ]; then
return 1
fi
make check
if [ $? -ne 0 ]; then
return 1
fi
if [ ! -e ${imageMagickInstallVerifyExe} -o ! -f ${imageMagickInstallVerifyExe} -o ! -r ${imageMagickInstallVerifyExe} ]; then
raiseError "Cannot read the installed ImageMagick verify executable"
if [ $? -ne 0 ]; then
return 1
fi
fi
return 0
}
function createSymLink()
{
message "Creating symbolic link for ImageMagick installation directory..."
ln -s ${imageMagickInstallDir} ${imageMagickSymLink}
if [ $? -ne 0 ]; then
return 1
fi
if [ ! -e ${imageMagickSymLinkVerifyExe} -o ! -f ${imageMagickSymLinkVerifyExe} -o ! -r ${imageMagickSymLinkVerifyExe} ]; then
raiseError "Cannot read the symbolically linked ImageMagick verify executable"
if [ $? -ne 0 ]; then
return 1
fi
fi
return 0
}
function removeArchive()
{
message "Removing ImageMagick archive..."
rm ${imageMagickArchive}
if [ $? -ne 0 ]; then
return 1
fi
if [ -e ${imageMagickArchive} ]; then
raiseError "The ImageMagick archive file still exists"
if [ $? -ne 0 ]; then
return 1
fi
fi
return 0
}
#
# Execute the installation routine
#
#
# Remove the archive if it already exists
#
rm -f ${imageMagickArchive}*
if [ "root" != "${currentUser}" ]; then
raiseFatal "You must be root to execute this script"
fi
if ${downloadRequiresCredentials}; then
read -p "Please enter your ${imageMagickDownloadUrlDesc} username: " downloadUsername
read -p "Please enter your ${imageMagickDownloadUrlDesc} password: " downloadPassword
if [ -z "${downloadUsername}" -o -z "${downloadPassword}" ]; then
raiseFatal "You must specify both a ${imageMagickDownloadUrlDesc} username and password"
fi
fi
installDependencies
fatalIfFailed "Failed to install dependencies"
downloadArchive
fatalIfFailed "Failed to download the archive"
extractArchive
fatalIfFailed "Failed to extract the archive"
installImageMagick
fatalIfFailed "Failed to install ImageMagick"
createSymLink
fatalIfFailed "Failed to create a symbolic link for ImageMagick"
removeArchive
fatalIfFailed "Failed to remove the downloaded ImageMagick archive"