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.8 (http://httpd.apache.org/) with included libapr and libaprutil 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.1 (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= 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/httpd-2.3.8-bin --with-httpd=$HOME/httpd-2.3.8-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.1-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