summaryrefslogtreecommitdiffstats
path: root/sca-cpp/branches/gcc-4.4/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to 'sca-cpp/branches/gcc-4.4/INSTALL')
-rw-r--r--sca-cpp/branches/gcc-4.4/INSTALL284
1 files changed, 284 insertions, 0 deletions
diff --git a/sca-cpp/branches/gcc-4.4/INSTALL b/sca-cpp/branches/gcc-4.4/INSTALL
new file mode 100644
index 0000000000..6eab022d76
--- /dev/null
+++ b/sca-cpp/branches/gcc-4.4/INSTALL
@@ -0,0 +1,284 @@
+Apache Tuscany SCA Runtime
+==========================
+
+Automated installation from scratch on Ubuntu 9.10
+==================================================
+
+Tuscany provides an automated install script for Ubuntu 9.10. You can start
+with a fresh Ubuntu Server 9.10 system, the ubuntu-install script takes care
+of all the download, build and installation steps for you.
+
+The required system tools and libraries are downloaded and installed using
+apt-get. The Tuscany project and its dependencies (Apache HTTPD server, Apache
+Axis2/C etc) are downloaded, built and installed in the current directory.
+
+To run the automated installation:
+mkdir tuscany
+cd tuscany
+wget http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/ubuntu/ubuntu-install
+chmod +x ./ubuntu-install
+./ubuntu-install
+
+The script will display each command as it's executed.
+
+That's all you need to do to build and install the Tuscany SCA runtime on
+Ubuntu 9.10.
+
+
+For manual build and install steps on other systems or if you need to customize
+your installation, read on...
+
+
+Building
+========
+
+The Tuscany SCA Linux build uses the GNU Autotools tool chain.
+
+First install the following development tools:
+autoconf-2.64
+automake-1.11
+g++-4.4.1
+libtool-2.2.6
+doxygen-1.6.1
+
+Install the following binaries:
+curl-7-19-5
+
+
+Then install the following development dependencies:
+
+Apache HTTP server and APR:
+httpd-2.2-15 (http://httpd.apache.org/)
+with included libapr and libaprutil
+built with OpenSSL libssl-0.9.8g
+
+Memcached:
+memcached-1.4.4 (http://memcached.org/)
+built with libevent-1.4.11
+
+XML:
+libxml2-2.7.7 (http://xmlsoft.org/)
+
+CURL:
+libcurl4-openssl-7.19.5
+
+JSON:
+Mozilla TraceMonkey libmozjs (https://wiki.mozilla.org/JavaScript:TraceMonkey)
+also included in xulrunner-1.9.1.8
+
+Key/value store:
+tinycdb-0.77 (http://www.corpit.ru/mjt/tinycdb.html)
+
+Optional dependencies:
+
+Web Services:
+Apache Axis2/C 1.6.0 (http://ws.apache.org/axis2/c/)
+
+Queueing:
+Apache Qpid/C++ 0.6 (http://qpid.apache.org/)
+built with libuuid-2.16, libboost-1.38.1, libboost-program-options-1.38.1 and
+libboost-filesystem-1.38.1
+
+Python:
+Python 2.6.4 (http://www.python.org/)
+Google AppEngine 1.3.2 (http://code.google.com/appengine/)
+
+Java:
+a Java 5+ JDK (http://openjdk.java.net/, http://harmony.apache.org/)
+
+XMPP Chat:
+Apache Vysper 0.5 (http://mina.apache.org/)
+
+Libstrophe (http://code.stanziq.com/cgit/strophe/libstrophe/)
+build it from source at git://code.stanziq.com//libstrophe
+requires libcheck-0.9.6
+
+SQL Database:
+postgresql-9.0 (http://www.postgresql.org/)
+
+
+To configure the Tuscany SCA build do this:
+./bootstrap
+./configure --prefix=<install dir>
+
+To enable debugging and strict warning compile options, add:
+--enable-maintainer-mode
+
+To enable gprof profiling, add:
+--enable-profiling
+
+To enable multi-threading (required by the Queue and Chat components and
+for running with the HTTPD worker or event multi-threaded MPMs):
+--enable-threads
+
+To enable support for Python component implementations:
+--enable-python
+
+To enable support for Java component implementations:
+--enable-java
+
+To build the Web service utility component (requires Apache Axis2/C):
+--enable-webservice
+
+To build the Queue utility component (requires Apache Qpid/C++):
+--enable-queue
+
+To build the Chat utility component (requires Libstrophe and optionally Apache
+Vysper if you want to run the tests with a local Vysper XMPP server):
+--enable-chat
+
+To build the SQL Database utility component (requires PostgreSQL):
+--enable-sqldb
+
+To generate doxygen documentation, add:
+--enable-doxygen
+
+To configure where to find dependencies, see the --with-* options described
+in the configure help:
+./configure --help
+
+
+Here's an example configuration, tested on Ubuntu 9.10, with the system
+dependencies installed in the standard system directories and some of the
+dependencies installed under $HOME:
+
+./configure --prefix=$HOME/tuscany-sca-cpp-bin \
+--with-apr=$HOME/httpd-2.2.13-bin --with-httpd=$HOME/httpd-2.2.13-bin \
+--with-memcached=$HOME/memcached-1.4.4-bin \
+--with-tinycdb=$HOME/tinycdb-0.77-bin \
+--with-curl=$HOME/curl-7.19.5-bin --with-libxml2=/usr \
+--with-js-include=/usr/include/xulrunner-1.9.1.8/unstable \
+--with-js-lib=/usr/lib/xulrunner-1.9.1.8 \
+--enable-threads \
+--enable-python --with-python=/usr \
+--enable-gae --with-gae=$HOME/google_appengine \
+--enable-java --with-java=/usr/lib/jvm/default-java \
+--enable-webservice --with-axis2c=$HOME/axis2c-1.6.0-bin \
+--with-libxml2=$HOME/libxml2-2.7.7-bin \
+--enable-queue --with-qpidc=$HOME/qpidc-0.6-bin \
+--enable-chat --with-libstrophe=$HOME/libstrophe-bin \
+--with-vysper=$HOME/vysper-0.5 \
+--enable-sqldb --with-pgsql=$HOME/postgresql-9.0-bin \
+--enable-maintainer-mode
+
+
+To build the Tuscany SCA runtime, do this:
+make
+
+To run the tests, do this:
+make check
+
+To build ctags for the source, do this:
+make ctags
+
+To build a source distribution, do this:
+make dist
+
+To build a binary distribution, do this:
+make bindist
+
+
+Installing
+==========
+
+To install the Tuscany SCA binaries, do this:
+make install
+
+
+Building dependencies from source
+=================================
+
+Here are example build and install steps for some of the dependencies.
+
+Apache HTTPD, including APR, using the HTTP prefork MPM (recommended):
+wget http://www.apache.org/dist/httpd/httpd-2.2.15.tar.gz
+tar xzf httpd-2.2.15.tar.gz
+cd httpd-2.2.15
+./configure --enable-ssl --enable-proxy --enable-rewrite --with-included-apr \
+--with-mpm=prefork --prefix=$HOME/httpd-2.2.15-bin
+make
+make install
+export PATH=$HOME/httpd-2-2.15-bin/bin:$PATH
+
+Memcached:
+wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
+tar xzf memcached-1.4.4.tar.gz
+cd memcached-1.4.4
+./configure --prefix=$HOME/memcached-1.4.4-bin
+make
+make install
+
+TinyCDB:
+wget http://www.corpit.ru/mjt/tinycdb/tinycdb_0.77.tar.gz
+tar xzf tinycdb_0.77.tar.gz
+cd tinycdb-0.77
+make
+make prefix=$HOME/tinycdb-0.77-bin install
+
+CURL:
+wget http://curl.haxx.se/download/curl-7.19.5.tar.gz
+tar xzf curl-7.19.5.tar.gz
+cd curl-7.19.5
+./configure --prefix=$HOME/curl-7.19.5-bin
+make
+make install
+
+Libxml2:
+wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.7.tar.gz
+tar xzf libxml2-sources-2.7.7.tar.gz
+cd libxml2-2.7.7
+./configure --prefix=$HOME/libxml2-2.7.7-bin
+make
+make install
+
+TraceMonkey:
+wget http://hg.mozilla.org/tracemonkey/archive/e4364736e170.tar.gz
+tar xzf tracemonkey-e4364736e170.tar.gz
+cd tracemonkey-e4364736e170/js/src
+autoconf2.13
+./configure --prefix=$HOME/tracemonkey-bin
+make
+make install
+
+Apache Axis2/C:
+wget http://www.apache.org/dist/ws/axis2-c/1_6_0/axis2c-src-1.6.0.tar.gz
+tar xzf axis2c-src-1.6.0.tar.gz
+cd axis2c-src-1.6.0
+./configure --enable-libxml2 --enable-openssl \
+--with-apache2=$HOME/httpd-2.2.15-bin/include --prefix=$HOME/axis2c-1.6.0-bin
+make
+make install
+export AXIS2C_HOME=$HOME/axis2c-1.6.0-bin
+
+Apache Qpid/C++:
+wget http://www.apache.org/dist/qpid/0.6/qpid-cpp-0.6.tar.gz
+tar xzf qpid-cpp-0.6.tar.gz
+cd qpidc-0.6
+./configure --prefix=$HOME/qpidc-0.6-bin
+make
+make install
+
+Libstrophe:
+git clone git://code.stanziq.com/libstrophe
+cd libstrophe
+git submodule init
+git submodule update
+aclocal
+automake --add-missing --foreign --copy
+autoconf
+./configure --prefix=$HOME/libstrophe-bin
+make
+make install
+cd ..
+mkdir -p libstrophe-bin/include
+cp libstrophe/*.h libstrophe-bin/include
+cp libstrophe/src/*.h libstrophe-bin/include
+
+PostgreSQL:
+wget http://wwwmaster.postgresql.org/download/mirrors-ftp/source/9.0alpha5/postgresql-9.0alpha5.tar.gz
+tar xzf postgresql-9.0alpha5.tar.gz
+cd postgresql-9.0alpha5
+./configure --prefix=$HOME/postgresql-9.0-bin
+make
+make install
+