Esto es un tutorial para generar los paquetes RPM necesarios para instalar Ruby + Gem en sus ultimas versiones así como un par de gemas particulares: mechanize y rmagick en un sistema CentOS 5.5 de 32bits, los pasos para 64bits son iguales con algunas pequeñas diferencias, dado que no es necesario generarnos los RPM de las librerias libxml2 y libxslt.
Descargamos la ultima versión de Ruby desde la pagina: http://www.ruby-lang.org/es/downloads/
mkdir -p /root/src
cd /root/src
tar zxf ruby-x.x.x.tar.gz
Instalamos paquetes necesarios para realizar la compilación
yum install openssl-devel zlib-devel gcc gcc-c++ make autoconf readline-devel curl-devel expat-devel gettext-devel checkinstall rpm-build
Compilamos y generamos el RPM de Ruby
cd ruby-x.x.x
./configure --enable-shared --enable-pthread --prefix=/usr
make
checkinstall --fstrans=no
Instalamos Ruby + Gem
mkdir -p /root/RPM/
mv /usr/src/redhat/RPMS/i386/ruby-x.x.x.rpm /root/RPM/
rpm -Uvh /root/RPM/ruby-x.x.x.rpm
Descargamos los RPM de las ultimas versiones de ImageMagick-x.x.rpm, ImageMagick-devel-x.x.rpm desde la pagina oficial de ImageMagick.
cd /root/RPM
Mediante yum instalamos las librerías necesaria para los RPM de ImageMagick
yum install fftw3-devel djvulibre-devel libtool-ltdl-devel ghostscript-devel libjpeg-devel libpng-devel graphviz-devel libwmf-devel openexr-devel bzip2-devel
Activamos el repositorio de Testing de CentOS 5 necesario para el paquete jasper-devel requerido por los RPM de ImageMagick.
cd /etc/yum.repos.d
wget http://dev.centos.org/centos/5/CentOS-Testing.repo
Instalamos jasper-devel
yum install --enablerepo=c5-testing jasper-devel
Finalmente instalamos la ultima versión de ImageMagick y la gema rmagick
cd /root/RPM
rpm -Uvh ImageMagick-*
gem install rmagick
Instalamos los paquetes necesarios para poder generar los RPM de libxml2, libxslt (los paquetes para 64bits Xmlsoft los proporciona)
yum install python-devel libgcrypt-devel
Descargamos las ultimas versiones del source de libxml2, libxslt desde la pagina de XmlSoft, paso seguido generamos los paquetes RPM.
Generamos el RPM de libxml2
cd /root/src
rpmbuild -ta libxml2.x.x.tar.gz
Movemos e instalamos la ultima versión de libxml2
mv /usr/src/redhat/RPMS/i386/libxml2-* /root/RPM/
rpm -Uvh /root/RPM/libxml2-*
Generamos el RPM de libxslt
rpmbuild -ta libxslt-x.x.tar.gz
Movemos e instalamos la ultima versión de libxslt
mv /usr/src/redhat/RPMS/i386/libxslt-* /root/RPM/
rpm -Uvh /root/RPM/libxslt-*
Instalamos la gema de mechanize
gem install mechanize
Es necesario poner las ultimas versiones de libxml2 y libxslt porque mechanize depende de la gema nokogiri, aqui documentación extra del porque instalar la ultima versión de libxml2 en: http://nokogiri.org/tutorials/installing_nokogiri.html