Linux: Difference between revisions

From NEOSYS Dev Wiki
Jump to navigationJump to search
Line 13: Line 13:
Boost binaries are available for most platforms but in some cases it can be easier to build from source as follows:
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.44. [[Installing boost 1.38]]


Optionally get ICU to fully support unicode in boost regex
Optionally get ICU to fully support unicode in boost regex
Line 21: Line 21:
Ubuntu
Ubuntu
  apt-get install libicu-dev
  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 ==
== Building service ==

Revision as of 00:00, 20 November 2010

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

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