README
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.
Installation and Usage
-
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 VMYou can also find other Linux distributions from vagrantbox.es.
The command lines to import other VMs are similar. -
The login account is
vagrantwith passwordvagrant. It has thesudo
permission. Directory/vagrantin 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/gccThese 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.
Precompiled Bioinformatics Tools
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.