Linux: Difference between revisions
No edit summary |
|||
Line 11: | Line 11: | ||
==== Building Boost from Source ==== | ==== Building Boost from Source ==== | ||
Boost binaries are available for most | Boost binaries are available for most platforms but in some cases it can be easier to build from source as follows: | ||
Minimum required is boost 1_32. Here we install 1.38. | Minimum required is boost 1_32. Here we install 1.38. |
Revision as of 21:00, 13 July 2009
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 but in some cases 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