blob: 56c57c22c14e8957b7ed3f71c12206604e534aa0 [file] [log] [blame]
Apache Tuscany SCA Runtime
==========================
Automated installation on Ubuntu 10.10 64-bit
=============================================
Tuscany provides two automated install scripts for Ubuntu. You can start with
a fresh Ubuntu Server 10.10 64-bit system and these scripts will take care of
all the download, build and installation steps for you.
ubuntu/ubuntu-install-all:
Complete build and installation with most dependencies built from source.
System dependencies are downloaded and installed using sudo apt-get. Source
dependencies are downloaded and built 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-all
chmod +x ./ubuntu-install-all
./ubuntu-install-all
The installation 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 10.10 64-bit.
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.67
automake-1.11
libtool-2.2.6
doxygen-1.7.1
gcc-g++-4.4.5
Then install the following development dependencies:
Apache HTTP server and APR:
httpd-2.3.10 (http://httpd.apache.org/)
apr-1.4.x (http://apr.apache.org/)
built with OpenSSL libssl-0.9.8, libpcre3-8.02,
and expat 2.0.1
Memcached:
memcached-1.4.5 (http://memcached.org/)
built with libevent-1.4.13
XML:
libxml2-2.7.7 (http://xmlsoft.org/)
CURL:
curl-7-19-5
libcurl4-openssl-7.19.5
JSON:
Mozilla TraceMonkey libmozjs (https://wiki.mozilla.org/JavaScript:TraceMonkey)
also included in xulrunner-1.9.2
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.17.2, libboost-1.42.0, libboost-program-options-1.42.0 and
libboost-filesystem-1.42.0
Python:
Python 2.6.6 (http://www.python.org/)
Google AppEngine 1.4.0 (http://code.google.com/appengine/)
Java:
a Java 5+ JDK (http://openjdk.java.net/, http://harmony.apache.org/)
OpenID authentication:
Mod_auth_openid (http://trac.butterfat.net/public/mod_auth_openid)
build it from source at http://github.com/jsdelfino/mod_auth_openid
requires Libopkele (http://kin.klever.net/libopkele/ or
http://github.com/jsdelfino/libopkele)
and HTML Tidy (http://tidy.sourceforge.net/)
OAuth authorization:
Liboauth 0.9.1 (http://liboauth.sourceforge.net/)
XMPP Chat:
Apache Vysper 0.5 (http://mina.apache.org/)
Libstrophe (http://code.stanziq.com/strophe/)
build it from source at git://github.com/jsdelfino/libstrophe.git
SQL Database:
postgresql-9.0.3 (http://www.postgresql.org/)
Logging:
Facebook Scribe 2.2 (http://github.com/facebook/scribe/downloads)
requires Apache Thrift 0.2.0 (http://incubator.apache.org/thrift/)
Cloud deployment:
Apache Libcloud 0.3.1 (http://incubator.apache.org/libcloud/)
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 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 Log utility component (requires Facebook Scribe and Apache Thrift):
--enable-log
To build the SQL Database utility component (requires PostgreSQL):
--enable-sqldb
To build the Web service utility component (requires Apache Axis2/C):
--enable-webservice
To build the support for OAuth authorization:
--enable-oauth
To build the support for OpenID authentication:
--enable-openid
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 10.10 64-bit, 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/apr-1.4.x-bin --with-httpd=$HOME/httpd-2.3.10-bin \
--with-memcached=$HOME/memcached-1.4.5-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.2 \
--with-js-lib=/usr/lib/xulrunner-1.9.2 \
--enable-libcloud \
--with-libcloud=$HOME/libcloud-0.3.1-bin \
--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.3-bin \
--enable-log --with-thrift=$HOME/thrift-0.2.0-bin \
--with-scribe=$HOME/scribe-2.2-bin \
--enable-openid --with-mod-auth-openid=$HOME/mod-auth-openid-bin \
--enable-oauth --with-liboauth=$HOME/liboauth-0.9.1-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