Odkazy:
Nejedná se o překlad programu tak jak jsme zvyklí. V tomto případě překládám ruby tak, abych jej mohl distribuovat jako součást jiného systému. Nebude se tedy instalovat do systémových adresářů ale do adresářů "aplikace" která se distribuuje na jiné servery pomocí kopírování.
Překlad provádím na čistě nainstalovaném virtuálním stroji, abych měl jistotu že mi nikde nic nepřebývá a nikde nic nechybí. Potřebuji vědět přesně co vše potřebuji. Pro jistotu aktualizujeme systém.
#
aptitude update#
aptitude upgrade
Poté nainstalujeme potřebné balíčky.
#
aptitude install bzip2 g++ makeNásledující NOVÉ balíky budou nainstalovány automaticky: binutils cpp cpp-4.1 g++-4.1 gcc gcc-4.1 libc6-dev libmudflap0 libmudflap0-dev libssp0 libstdc++6-4.1-dev linux-kernel-headers
#
aptitude install zlib1g-dev libssl-dev libpth-dev libsqlite3-dev libreadline-devNásledující NOVÉ balíky budou nainstalovány automaticky: libncurses5-dev libpth20 libsqlite3-0
Stáhl jsem si poslední v danou chvíli existující verzi z ftp.ruby-lang.org.
#
mkdir /usr/local/download#
cd /usr/local/download#
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p378.tar.bz2
Nyní rozbalení, konfigurace a překlad a instalace.
#
cd /usr/local/src#
tar xjvf ../download/ruby-1.9.1-p378.tar.bz2#
cd ruby-1.9.1-p378#
mkdir -p /usr/local/cl/lib/etch/bin#
export PATH=/usr/local/cl/lib/etch/bin:$PATH#
./configure --program-suffix=1.9 --prefix=/usr/local/cl/lib/etch --enable-pthread#
make#
make test#
make install#
make distclean
Instalace některých gemů:
#
cd /usr/src/cl/lib/etch/bin#
export PATH=/usr/local/cl/lib/etch/bin:$PATH#
export GEM_HOME=/usr/local/cl/lib/etch/lib/ruby1.9/gems/1.9.1#
gem1.9 update --system#
gem1.9 install sqlite3#
gem1.9 install eventmachine
Pro ruby 1.9 se používá gem sqlite3 na rozdíl od ruby 1.8 kde se používá sqlite3-ruby.
sudo apt-get install libsqlite3-dev sqlite3 sqlite3-doc sudo gem install sqlite3-ruby
?? libiconv-1.11
$ ldd /usr/local/cl/lib/etch/bin/ruby1.9
./configure –enable-pthread
libreadline5-dev
libthread
Pokud přenáším skompilované ruby a nainstalované gemy, je potřeba na cílových počítačích doinstalovat případné závislosti. Například gem sqlite3 potřebuje mít nainstalovaný deb balíček sqlite3.