Ruční vytvoření upravené verze ruby. Zkouším vše provést sám ručně, abych měl představu co se děje a byl schopen vytvořit upravené ruby i na jiné platformě či za změněných podmínek.
V původním crate se stahovala a kompilovala verze 1.2.3. Ta již na původním webu není. Není tam dokonce ani verze 1.2.4 se kterou jsem před pár týdny experimentoval. Jediná dostupná je v tuto chvílí (2010-05-10) verze 1.2.5.
$mkdir download$cd download$wget http://zlib.net/zlib-1.2.5.tar.bz2$cd ..$mkdir src$cd src$tar xjvf ../download/zlib-1.2.5.tar.bz2$cd zlib-1.2.5$./configure --64 --prefix=/usr$make install prefix=../../root/usr$make distclean$cd ../..
U OpenSSL jsem rovněž stáhl nejnovější verzi.
$cd download$wget http://openssl.org/source/openssl-1.0.0.tar.gz$cd ../src$tar xzvf ../download/openssl-1.0.0.tar.gz$cd openssl-1.0.0$./config --prefix=/usr zlib no-threads no-shared -fPIC$make depend$make$make install_sw INSTALL_PREFIX=$(pwd)/../../root$make clean$cd ../..
Když už jsem tak v těch nejnovějších verzích, ruby taky zkouším tu nejnovější z řady 1.9.
$cd download$wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p378.tar.bz2$cd ../src$tar xjvf ../download/ruby-1.9.1-p378.tar.bz2$cd ruby-1.9.1-p378$cp ../../root/usr/lib*/{libz,libcrypto,libssl}.a .$export CPPFLAGS="-I../../usr/include"$export LDFLAGS="-L../../usr/lib -L../../usr/lib64"$./configure --disable-shared --prefix=/usr --with-static-linked-ext --without-openssl --without-zlib$make$make install DESTDIR=$(pwd)/../../root …/usr/bin/ld: ../../../libcrypto.a(md5_dgst.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC ../../../libcrypto.a: could not read symbols: Bad value collect2: ld returned 1 exit status
