CentOS 5, released on 2007-04-12, is one of the oldest Linux distributions that are still maintained (until 2017-03-31) and remain widely used nowadays. Due to its age, quite a few programs are hard to be compiled on CentOS 5 caused by the lack of modern compilers and libraries; binaries compiled on recent Linux distributions are often not working on CentOS 5 due to ABI incompatibility in core libraries. CentOS 5 is a major obstacle to software portability. On the bright side, because most core libraries are backward compatible, binaries compiled on CentOS 5 without 3rd-party dynamic libraries often work on recent Linux distributions. CentOS 5 gives a way to generate portable executables.
This virtual repository (with no code and data) describes how to deploy CentOS 5 virtual machine (VM) on your laptop or desktop computers such that you can test your programs on this older system and produce portable precompiled binaries.
-
Install VirtualBox. The VM was created on the version 4.3.x, though the latest version 5.0 should also work.
-
Install Vagrant.
-
Run the following command lines on the host system:
mkdir -p $HOME/centos5; cd $HOME/centos5 wget -O centos5.box http://sourceforge.net/projects/biobin/files/devtools/centos5.box/download vagrant box add centos5 centos5.box # unpack vagrant init # initialize vagrant up # launch VM vagrant ssh # ssh to VM
You can also find other Linux distributions from vagrantbox.es. The command lines to import other VMs are similar.
-
The login account is
vagrant
with passwordvagrant
. It has thesudo
permission. Directory/vagrant
in the VM is identical to$HOME/centos5
in the host system. You can transfer data through this shared directory. -
Precompiled GCC-4.9.2 and Boost-1.57.0 can be found here. To use them, inside the VM:
cd /opt wget -O- http://sourceforge.net/projects/biobin/files/devtools/gcc-static-4.9.2_x64-centos5.tar.bz2/download \ | sudo tar -jxf - ls /opt/devel/bin/gcc
These binaries are compiled with dynamic libraries disabled. As a results, binaries compiled with this GCC or linked against Boost will be portable to other systems.
You can find some precompiled Bioinformatics tools here. Most of these were compiled using the VM described above. They should be working on most Linux distributions, old or new.