build Ice 3.4.2 for Ubuntu 11.10 64 bits

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..

 

 

你可能感兴趣的:(ubuntu)