this tutorial is not necessary due to apt-get install can install Ice 3.4.2 easily (at least for Ubuntu 11.10)
the easiest way:
sudo apt-get install zeroc-ice34....and wait...
update on 04/2012
usig apt-get to install zeroc-ice34 may cause a weird problem about recycling references..
If you experience any Ice.updateModule problem ..just remove the whole package and build a new one from source.
don't forget to delete all related files on /usr/lib/python2.7/pymodules... it seems files residing there can't be removed silently.
1: install all third-party libs first
bzip2, db-4.8.3 mcpp, expat & openssl
for bzip2 openssl & expat, make sure -fPIC is used, otherwise compiler may warn you segment faults...
for bzip2 modify Makefile directly..
for openssl: ./config -fPIC --prefix=/usr/local shared
don't forget shared otherwise you will see an error about OPENSSL_cpuid_setup can't be used to make a shared object ...
before build mcpp lib,,, don't forget to patch it with patch -p0 <patch xxx
for mcpp. ./configure --enable-mcpplib --disable-shared CFLAGS=-fPIC --prefix=/usr/local
2: install Ice...
the default lib path is lib64 for Ice but Ubuntu itself uses lib so we need to change lib to lib64 first and put all depedencies
in that. an easy way is to copy all files in usr/local/lib to usr/local/lib64
during the period of comipling you may see some errors related to ptrdiff_t..
the gcc version of Ubuntu 11.10 is 4.6.1 which fails to recognize ptrdiff_t as a type. so we need to change it to:
std::ptrdiff_t
after that..you should fullfill your job without too much difficulty.
run test script in order to make sure everyting is fine..