Linux

From NEOSYS Dev Wiki
Jump to navigationJump to search

Building and Installing Exodus

Log of an installation of libexodus on Ubuntu 8.04.1 LTS

Log of an installation of libexodus on Ubuntu 9.04 Jaunty Jackalope

Log of an installation of libexodus on Centos 5.3

exodus Dependencies

Building Boost from Source

Boost binaries are available for most platforms. In some cases it can be easier to build from source as follows:

Minimum required is boost 1_32. Here we install 1.44. Installing boost 1.38

Optionally get ICU to fully support unicode in boost regex

Centos

yum install libicu-devel

Ubuntu

apt-get install libicu-dev

http://www.boost.org/doc/libs/1_45_0/more/getting_started/unix-variants.html#easy-build-and-install

Download and unpack Boost Source

cd ~
wget http://sourceforge.net/projects/boost/files/boost/1.45.0/boost_1_45_0.tar.gz
tar xvfz boost_1_45_0.tar.gz
cd boost_1_45_0

Build and install Boost

./bjam --help
./bootstrap.sh --prefix=/usr/ --with-libraries=date_time,filesystem,iostreams,program_options,regex,system,thread
./bjam
sudo ./bjam install

If you get a problem about bzip.h missing ...

cd ~
wget http://bzip.org/1.0.6/bzip2-1.0.6.tar.gz
tar xvfz bzip2-1.0.6.tar.gz
cd bzip2-1.0.6

maybe add -fPIC to Makefile

nano Makefile
CFLAGS=-Wall -fPIC -Winline -O2 -g $(BIGFILES)
make
sudo make install

Building service

service is an incomplete multithreaded framework to support dynamic loading of library routines and serving a request/response queue.

www provides an optional web interface to the request/response queue. Windows only at the moment due to a single asp files but could be ported to php.

Building service

cd ~/exodus/trunk/service/service
g++ -fPIC -c *.cpp -I/usr/local/include/boost-1_38 -I/usr/local/include/exodus
g++ -shared -o libservice.so -lc *.o
g++ -o service main.cpp -I/usr/local/include/boost-1_38 -L. -I/usr/local/include/exodus \
-lexodus -lpq -lboost_filesystem-gcc41-mt -lboost_regex-gcc41-mt -lboost_thread-gcc41-mt \
-L./ -lservice

Running service

export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
./service