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*
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!
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
@John Bollinger
John, do you mind giving me the list of your final set of RPMs?
Andrew,
I tried your method in RHEL5 but it does not work. I am going to try on Fedora 14 and see how it goes. Do you mind giving me a few suggestions?
Thank you very much!
Sam
Andrew,
I was wondering if John Bollinger ever sent a you a list of packages and/or his method of running Insight on RHEL5. I’ve got a few scientists here that won’t give Insight up, but I’ve got to put them on a new OS than RHEL4. If you do have a list or instructions that you used could you send them to me.
Thanks,
Chris.
Hi
I tried to work what you said. I was successful up to creating the 4.8 chroot environment but have no clues how to get into chroot, how to yum inside the chroot or run insightII. can you give a more step-by-step guide there.
I have CentOS 5.6 installed. created /rhel_chroot dir and installed all the rpms as you have mentioned. my chroot is located at /usr/sbin/chroot. Please help.
Thanks and regards
Thiyaga
@Sam Chen
It should work in either RHEL or CentOS.
@Chris Bowerman
@S. Thiyagarajan
He didn’t, unfortunately. I’ll post the automated installation script I use, maybe that’ll get you further along.
@Andrew Rankin
It worked.
I downloaded the entire rpms for centos4,8 and created a local repo inside the chroot.
Your scripts helped with the rest of the problems,. Scripts needed some modification to suit my system, like location of the insight, cshrc files etc.
Thanks for your help
S, Thiyagarajan