diff options
Diffstat (limited to 'sca-cpp/branches/gcc-4.4/INSTALL')
-rw-r--r-- | sca-cpp/branches/gcc-4.4/INSTALL | 284 |
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 + |