Install Java Advanced Imaging ImageIO Tools on a Linux Machine

From MircWiki
Revision as of 03:36, 10 September 2011 by Tim phillips (Talk | contribs)

Jump to: navigation, search

1 Important

2 How to install Java Advanced Imaging ImageIO Tools on Ubuntu Linux

  • Download the script
wget http://timphillips.net/mirc/install-JAI-imageIO.txt.txt
  • Make it executable
mv ./install-JAI-imageIO.txt.txt ./install-JAI-imageIO.txt
chmod 777 ./install-JAI-imageIO.txt
  • Run the script
./install-JAI-imageIO.txt

3 What the script does

  • Checks you're running it as root or using sudo.
  • Updates the Ubuntu repos.
  • Checks which chipset you're running.
  • Answers the Java installation questions in advance.
  • Installs Oracle / Sun Java.
  • Downloads the appropriate JAI ImageIO files installs JAI ImageIO.

3.1 The script itself (in case you don't trust the download)

#!/bin/bash

# Make sure only root can run our script
if  $EUID -ne 0 ; then
echo "This script must be run as root or using sudo" 1>&2
exit 1
fi

#reassure the user something is happening
echo 'Updating Ubuntu repositories ...'

#work in the temp folder
cd /var/tmp

# partner repo
echo deb http://archive.canonical.com/ lucid partner >>/etc/apt/sources.list.d/partner.list
apt-get -qq update

# preset the java answers:
debconf-set-selections << END
sun-java6-jdk shared/accepted-sun-dlj-v1-1 boolean true
sun-java6-jre shared/accepted-sun-dlj-v1-1 boolean true
sun-java6-bin shared/accepted-sun-dlj-v1-1 boolean true
END

#reassure the user something is happening
echo 'Downloading and installing required ubuntu packages ...'

# packages installed:
apt-get install -y -qq acpid htop unzip xauth libxtst6 sun-java6-jdk

# if a previous version is here - get rid of it
cd /usr/lib/jvm/java-6-sun/
if [ -f UNINSTALL-jai_imageio ]; then
echo 'Removing previous install of JAI ImageIO ...'
bash UNINSTALL-jai_imageio
fi

#work in the temp folder
cd /var/tmp

#reassure the user something is happening
echo 'Downloading JAI Image IO ...'

#check which chipset we're using
case $(arch) in
i686)
CHIP=i586
;;
x86_64)
CHIP=amd64
;;
*)
;;
esac

#download the JAI tgz file
# get jai binary
if [ -f ./jai_imageio-1_1-lib-linux-$CHIP.tar.gz ]; then
rm ./jai_imageio-1_1-lib-linux-$CHIP.tar.gz
fi
wget -q http://download.java.net/media/jai-imageio/builds/release/1.1/jai_imageio-1_1-lib-linux-$CHIP.tar.gz

#reassure the user something is happening
echo 'Installing JAI Image IO ...'

#expand the tgz and put the files where they should go (excluding UNINSTALL)
tar xzf ./jai_imageio-1_1-lib-linux-$CHIP.tar.gz
mv ./jai_imageio-1_1/*.txt /usr/lib/jvm/java-6-sun/
mv ./jai_imageio-1_1/lib/libclib_jiio.so /usr/lib/jvm/java-6-sun/jre/lib/$CHIP2/
mv ./jai_imageio-1_1/lib/*.jar /usr/lib/jvm/java-6-sun/jre/lib/ext/

#generate the UNINSTALL file - using the version that comes in the binary install
cat > /usr/lib/jvm/java-6-sun/UNINSTALL-jai_imageio <<DELIM
#!/bin/sh
# @(#)UNINSTALL-jai_imageio-jdk 3.1 06/05/12 16:18:39
# usage: UNINSTALL-jai_imageio

echo "Uninstalling Java Advanced Imaging Image I/O Tools"

rm -f *jai_imageio.txt
rm -f jre/lib/ext/jai_imageio.jar
rm -f jre/lib/ext/clibwrapper_jiio.jar
if [ ( `uname` = "SunOS" ) -a ( `uname -p` = "sparc" ) ]; then
rm -f jre/lib/sparc/libclib_jiio.so
rm -f jre/lib/sparc/libclib_jiio_vis.so
rm -f jre/lib/sparc/libclib_jiio_vis2.so

if [ -f jre/lib/sparcv9/libclib_jiio.so ]; then
rm -f jre/lib/sparcv9/libclib_jiio.so
rm -f jre/lib/sparcv9/libclib_jiio_vis.so
rm -f jre/lib/sparcv9/libclib_jiio_vis2.so
fi
fi
if [ -f jre/lib/amd64/libclib_jiio.so ]; then
rm -f jre/lib/amd64/libclib_jiio.so
fi
if [ -f jre/lib/i386/libclib_jiio.so ]; then
rm -f jre/lib/i386/libclib_jiio.so
fi
rm -f UNINSTALL-jai_imageio

echo "Done"
DELIM


Any questions or comments please email me at timothy.john.phillips@gmail.com - Tim Phillips.