Home > Linux Workstations > How To: Accelrys Insight II 2005 on RHEL5

How To: Accelrys Insight II 2005 on RHEL5

So you want to move your Linux workstations to RHEL5 but still use Insight II? If you have tried (and I know you have), you know that because of the jump in the version of GLIBC to version 2.5, Insight II won’t run. As much as we wish Accelrys would go and compile it against RHEL5, that won’t happen either. So, what does it take to get it to run? RHEL4… No, really. But we are going to be cute about it. Since all Insight needs is a few libraries to run, its just a matter of putting it in a place where it can get to them. My solution to this was making a small chroot environment in which to start up Insight in.

Creating a chroot environment is fairly easy. You’ll need a folder to put it in, and root access to the machine your on to create it. For this example lets use /rhel4_chroot/, so first just create that directory. Next you’ll need access to RPMs from a RHEL4.8 DVD, or really just have a place to pull them from – so it can be a repo or whatever. You’ll want to install a few rpms to that root to make the basic linux environment available when you chroot to that directory. You can do this a number of ways, what I found that you’ll need on a most basic level is the following (from Centos 4.8 Base):

rpm --root "/rhel4_chroot/" -i \
binutils-2.15.92.0.2-25.x86_64.rpm \
glibc-2.3.4-2.43.x86_64.rpm \
glibc-common-2.3.4-2.43.x86_64.rpm \
tzdata-2009f-1.el4.noarch.rpm \
libgcc-3.4.6-11.x86_64.rpm \
basesystem-8.0-4.noarch.rpm \
setup-2.5.37-3.el4.noarch.rpm \
bash-3.0-21.el4.x86_64.rpm \
mktemp-1.5-20.x86_64.rpm \
filesystem-2.3.0-1.x86_64.rpm \
info-4.7-5.el4.2.x86_64.rpm \
libtermcap-2.0.8-39.x86_64.rpm \
ncurses-5.4-15.el4.x86_64.rpm \
zlib-1.2.1.2-1.2.x86_64.rpm \
termcap-5.4-3.noarch.rpm \

This will give you an environment you can chroot too and have a very basic set of tools available. To get to a point where you can run Insight II you’ll need a few more. In my case I didn’t want to play the dependency game, so I just installed everything needed to run yum from within the enviroment:


rpm --root "/rhel4_chroot/" -i \
yum-2.4.3-4.el4.centos.noarch.rpm \
coreutils-5.2.1-36.el4.centos.x86_64.rpm \
python-2.3.4-14.7.el4.x86_64.rpm \
libacl-2.2.23-5.4.el4.x86_64.rpm \
python-elementtree-1.2.6-5.el4.centos.x86_64.rpm \
python-sqlite-1.1.7-1.2.1.x86_64.rpm \
libxml2-python-2.6.16-12.6.x86_64.rpm \
yum-metadata-parser-1.0-8.el4.centos.x86_64.rpm \
grep-2.5.1-32.4.el4.x86_64.rpm \
pam-0.77-66.26.x86_64.rpm \
pcre-4.5-4.el4_6.6.x86_64.rpm \
sed-4.1.2-7.el4.x86_64.rpm \
rpm-python-4.3.3-32_nonptl.x86_64.rpm \
rpm-4.3.3-32_nonptl.x86_64.rpm \
glib2-2.4.7-1.x86_64.rpm \
elfutils-0.97.1-5.x86_64.rpm \
popt-1.9.1-32_nonptl.x86_64.rpm \
beecrypt-3.1.0-6.x86_64.rpm \
rpm-libs-4.3.3-32_nonptl.x86_64.rpm \
findutils-4.1.20-7.el4.3.x86_64.rpm \
db4-4.2.52-7.3.el4.x86_64.rpm \
libxml2-2.6.16-12.6.x86_64.rpm \
libstdc++-3.4.6-11.x86_64.rpm \
audit-libs-1.0.16-4.el4.x86_64.rpm \
shadow-utils-4.0.3-66.RHEL4.x86_64.rpm \
elfutils-libelf-0.97.1-5.x86_64.rpm \
cracklib-2.8.9-1.3.x86_64.rpm \
cracklib-dicts-2.8.9-1.3.x86_64.rpm \
libselinux-1.19.1-7.4.x86_64.rpm \
bzip2-libs-1.0.2-14.el4_7.x86_64.rpm \
sqlite-devel-3.3.6-2.x86_64.rpm \
sqlite-3.3.6-2.x86_64.rpm \
chkconfig-1.3.13.5.EL4-1.x86_64.rpm \
python-urlgrabber-2.9.8-2.noarch.rpm \
centos-release-4-8.x86_64.rpm \
openssl-0.9.7a-43.17.el4_7.2.x86_64.rpm \
krb5-libs-1.3.4-62.el4.x86_64.rpm \
initscripts-7.93.34-1.centos4.x86_64.rpm \
udev-039-10.29.el4.x86_64.rpm \
ethtool-6-1.x86_64.rpm \
SysVinit-2.85-34.4.x86_64.rpm \
gawk-3.1.3-10.1.x86_64.rpm \
net-tools-1.60-39.el4.x86_64.rpm \
lvm2-2.02.42-5.el4.x86_64.rpm \
device-mapper-1.02.28-2.el4.x86_64.rpm \
util-linux-2.12a-24.el4.x86_64.rpm \
audit-1.0.16-4.el4.x86_64.rpm \
hotplug-2004_04_01-7.10.x86_64.rpm \
usbutils-0.11-7.RHEL4.1.x86_64.rpm \
hwdata-0.146.33.EL-17.noarch.rpm \
e2fsprogs-1.35-12.24.el4.x86_64.rpm \
libsepol-1.1.1-2.x86_64.rpm \
sysklogd-1.4.1-28.el4.x86_64.rpm \
module-init-tools-3.1-0.pre5.3.11.x86_64.rpm \
kernel-2.6.9-89.EL.x86_64.rpm \
mkinitrd-4.2.1.13-4.x86_64.rpm \
kudzu-1.1.95.26-1.x86_64.rpm \
cpio-2.5-16.el4.x86_64.rpm \
gzip-1.3.3-17.rhel4.x86_64.rpm \
hal-0.4.2-8.EL4.x86_64.rpm \
dbus-0.22-12.EL.9.x86_64.rpm \
dbus-glib-0.22-12.EL.9.x86_64.rpm \
tar-1.14-12.5.1.RHEL4.x86_64.rpm \
mingetty-1.07-3.x86_64.rpm \
less-382-4.rhel4.x86_64.rpm \
iputils-20020927-22.el4.x86_64.rpm \
iproute-2.6.9-4.el4.x86_64.rpm \
psmisc-21.4-4.1.x86_64.rpm \
procps-3.2.3-8.17.x86_64.rpm \
which-2.16-4.x86_64.rpm \
MAKEDEV-3.15.2-3.x86_64.rpm \
gdbm-1.8.0-24.x86_64.rpm \
gmp-4.1.4-3.x86_64.rpm \
libattr-2.4.16-3.1.el4.x86_64.rpm \
readline-4.3-13.x86_64.rpm \
expat-1.95.7-4.x86_64.rpm \
newt-0.51.6-10.el4.x86_64.rpm \
libcap-1.10-20.x86_64.rpm \
slang-1.4.9-8.x86_64.rpm

Now you see what I mean by “the dependency game”. Now if you don’t want to waste the space you can skip yum and figure out the exact dependencies for Insight, its really up to you since its just an issue of space and what you want available. After yum was installed I went ahead and chrooted to the enviroment and added the “Compatibility Arch Development Support” yum group along with openmotif21-2.1.30-11.RHEL4.6, bind-utils, compat-libstdc++-296.i386, xorg-x11-Mesa-libGLU and copied over the basic network files (hosts, resolv.conf and nsswitch.conf). If from within your chroot enviroment yum gets upset about the rpm database, this is due to RHEL5 rpm using a different database than RHEL4 – you’ll just need to clear them out:

rm -rf /var/lib/rpm/__db*

You’ll want to remount your systems /dev and /tmp folders for use within the chroot environment, for example:

/bin/mount -o bind /dev /rhel4_chroot/dev/
/bin/mount -o bind /tmp /rhel4_chroot/tmp/

At this point Insight should run, you’ll need to devise an easy way for your users to do it – likely some sort of sudoers allowances to run the mount/unmount of the above directories along with the command to run insight as them within the chrooted environment.  Don’t forget to run a ‘yum clean all’ to clean out the rpms yum downloaded.

The environment ended up being about 700MB in this state – which was fine for us.

rm -rf /var/lib/rpm/__db*
  1. John Bollinger
    June 4th, 2010 at 14:02 | #1

    Thanks for this, Andrew.

    I was faced with precisely the same problem, and no amount of fiddling with v4 libraries and LD_LIBRARY_PATH overcame it. I didn’t want to maintain a separate (possibly virtual) machine just for Insight II, so I gave your approach a spin. It worked like a charm.

    FWIW, I was able to reduce the size of the image to 256MB by

    1) Not installing RPM, Yum, or any of their otherwise-unneeded dependencies (e.g. Python) in the chroot environment. To do this, I performed all installs externally, using rpm –root.

    2) Not installing certain RPM dependencies (rpm –justdb and/or –nodeps) that are needed only for a real, bootable machine (e.g. kernel, initscripts).

    In the end, I found I needed only 49 packages.

    Cheers!

  2. June 4th, 2010 at 14:12 | #2

    John –

    Glad it worked for you too! If you have a list of your final set of RPM’s I’d love to see it.

    Thanks,
    Andrew

    @John Bollinger

  1. No trackbacks yet.