Linux
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 platform but it can be easier to build from source as follows:
Minimum required is boost 1_32. Here we install 1.38.
Optionally get ICU to fully support unicode in boost regex
Centos
yum install libicu-devel
Ubuntu
apt-get install libicu-dev
Download and unpack Boost Source
wget http://downloads.sourceforge.net/boost/boost_1_38_0.tar.bz2 tar xvf boost_1_38_0.tar.bz2 cd boost_1_38_0
./configure --help ./configure --with-libraries=date_time,filesystem,iostreams,program_options,regex,system,thread
Speed up the build of Boost by only doing the libraries and versions required. ADD additional config to the BJAM_CONFIG line as follows:
nano Makefile
BJAM_CONFIG= xxxxxxxxxxxxx -j4 variant=release link=shared
Build and install Boost
make sudo make install
Centos - Add "/usr/local/lib" to the list of lib directories to ensure that the boost libs can be found.
sudo nano /etc/ld.so.conf
Ensure the new boost libraries are registered for use.
sudo /sbin/ldconfig
Ensure boost includes can be found. This step might be eliminated in a better Exodos installer.
sudo ln -s /usr/local/include/boost-1_38/boost /usr/local/include/boost
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
Developing libexodus/pgexosdus/service
Committing your developments
First get a username and password by running the following unix command and send the output to an exodus subversion administrator eg steve.bush@neosys.com
htpasswd -nm YOURDESIREDUSERNAME
The administrator needs to run the following command as root and enter the encrypted pass (the bit AFTER the :) ignoring the warning about plain text password because it is already encrypted.
htpasswd -p /etc/apache2/dav_svn.passwd YOURDESIREDUSERNAME