2009-11-23 05:48:11 +00:00
|
|
|
Apache Tuscany SCA Runtime
|
|
|
|
==========================
|
|
|
|
|
2010-03-15 06:13:25 +00:00
|
|
|
Automated installation from scratch on Ubuntu 9.10
|
|
|
|
==================================================
|
2010-03-13 18:40:42 +00:00
|
|
|
|
2010-03-15 06:13:25 +00:00
|
|
|
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.
|
2010-03-13 18:40:42 +00:00
|
|
|
|
|
|
|
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
|
2010-03-17 08:12:44 +00:00
|
|
|
wget http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/ubuntu/ubuntu-install
|
|
|
|
chmod +x ./ubuntu-install
|
2010-03-15 06:13:25 +00:00
|
|
|
./ubuntu-install
|
|
|
|
|
|
|
|
The script will display each command as it's executed.
|
2010-03-13 18:40:42 +00:00
|
|
|
|
|
|
|
That's all you need to do to build and install the Tuscany SCA runtime on
|
2010-03-15 06:13:25 +00:00
|
|
|
Ubuntu 9.10.
|
2010-03-13 18:40:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
For manual build and install steps on other systems or if you need to customize
|
|
|
|
your installation, read on...
|
|
|
|
|
|
|
|
|
2009-11-23 05:48:11 +00:00
|
|
|
Building
|
|
|
|
========
|
|
|
|
|
2010-01-05 09:17:17 +00:00
|
|
|
The Tuscany SCA Linux build uses the GNU Autotools tool chain.
|
|
|
|
|
2010-01-06 06:35:48 +00:00
|
|
|
First install the following development tools:
|
2010-01-05 09:17:17 +00:00
|
|
|
autoconf-2.64
|
2010-03-13 18:40:42 +00:00
|
|
|
automake-1.11
|
2010-01-06 06:35:42 +00:00
|
|
|
g++-4.4.1
|
2010-01-05 09:17:17 +00:00
|
|
|
libtool-2.2.6
|
|
|
|
doxygen-1.6.1
|
|
|
|
|
2010-01-06 06:35:48 +00:00
|
|
|
Install the following binaries:
|
2010-02-01 07:57:32 +00:00
|
|
|
curl-7.19.5 (http://curl.haxx.se)
|
|
|
|
memcached-1.2.8 (http://memcached.org/)
|
2010-01-06 06:35:48 +00:00
|
|
|
|
2010-03-17 08:12:44 +00:00
|
|
|
Optional:
|
|
|
|
privbind-1.1 (http://manpages.ubuntu.com/manpages/karmic/man1/privbind.1.html)
|
|
|
|
will help you bind to port 80 for example without running as root
|
|
|
|
|
2010-01-06 06:35:48 +00:00
|
|
|
|
|
|
|
Then install the following development dependencies:
|
2009-11-23 05:48:11 +00:00
|
|
|
|
2010-02-01 07:57:32 +00:00
|
|
|
Apache HTTP server and APR:
|
2010-03-13 18:40:42 +00:00
|
|
|
httpd-2.2-15 (http://httpd.apache.org/)
|
|
|
|
with included libapr and libaprutil
|
|
|
|
built with OpenSSL libssl-0.9.8g
|
2009-11-30 08:36:59 +00:00
|
|
|
|
2010-02-01 07:57:32 +00:00
|
|
|
XML:
|
|
|
|
libxml2-2.7.5 (http://xmlsoft.org/)
|
2009-11-23 05:48:11 +00:00
|
|
|
|
2010-02-01 07:57:32 +00:00
|
|
|
CURL:
|
2010-03-13 18:40:42 +00:00
|
|
|
libcurl4-openssl-7.19.5
|
2010-01-06 06:35:42 +00:00
|
|
|
|
2010-02-01 07:57:32 +00:00
|
|
|
JSON:
|
|
|
|
Mozilla SpiderMonkey libmozjs (http://www.mozilla.org/js/spidermonkey/)
|
2010-03-13 18:40:42 +00:00
|
|
|
included in xulrunner-1.9.1.8
|
2009-11-23 05:48:11 +00:00
|
|
|
|
2010-01-30 08:06:00 +00:00
|
|
|
Optional dependencies:
|
2010-01-05 09:17:17 +00:00
|
|
|
|
2010-02-01 07:57:32 +00:00
|
|
|
Web Services:
|
|
|
|
Apache Axis2/C 1.6.0 (http://ws.apache.org/axis2/c/)
|
|
|
|
|
|
|
|
Queueing:
|
|
|
|
Apache Qpid/C++ 0.6 (http://qpid.apache.org/)
|
2010-03-13 18:40:42 +00:00
|
|
|
built with libuuid-2.16, libboost-1.38.1, libboost-program-options-1.38.1 and
|
|
|
|
libboost-filesystem-1.38.1
|
2010-02-01 07:57:32 +00:00
|
|
|
|
|
|
|
Python:
|
2010-03-13 18:40:42 +00:00
|
|
|
Python 2.6.4 (http://www.python.org/)
|
2010-02-01 07:57:32 +00:00
|
|
|
|
|
|
|
Java:
|
|
|
|
a Java 5+ JDK (http://openjdk.java.net/, http://harmony.apache.org/)
|
|
|
|
|
|
|
|
XMPP Chat:
|
2010-03-21 22:00:32 +00:00
|
|
|
Apache Vysper 0.5 (http://mina.apache.org/)
|
|
|
|
|
2010-02-01 07:57:32 +00:00
|
|
|
Libstrophe (http://code.stanziq.com/cgit/strophe/libstrophe/)
|
|
|
|
build it from source at git://code.stanziq.com//libstrophe
|
2010-03-13 18:40:42 +00:00
|
|
|
requires libcheck-0.9.6
|
2010-01-17 09:02:57 +00:00
|
|
|
|
2010-01-06 06:35:48 +00:00
|
|
|
|
2010-01-05 09:17:17 +00:00
|
|
|
To configure the Tuscany SCA build do this:
|
2010-02-17 04:14:31 +00:00
|
|
|
./bootstrap
|
2009-11-23 05:48:11 +00:00
|
|
|
./configure --prefix=<install dir>
|
|
|
|
|
2010-01-05 09:17:17 +00:00
|
|
|
To enable debugging and strict warning compile options, add:
|
|
|
|
--enable-maintainer-mode
|
|
|
|
|
|
|
|
To enable gprof profiling, add:
|
|
|
|
--enable-profiling
|
|
|
|
|
2010-02-17 04:14:31 +00:00
|
|
|
To enable multi-threading (required by the Queue and Chat components and
|
|
|
|
for running with the HTTPD worker or event multi-threaded MPMs):
|
2010-01-05 09:17:17 +00:00
|
|
|
--enable-threads
|
|
|
|
|
2010-01-11 08:30:15 +00:00
|
|
|
To enable support for Python component implementations:
|
|
|
|
--enable-python
|
|
|
|
|
|
|
|
To enable support for Java component implementations:
|
|
|
|
--enable-java
|
|
|
|
|
2010-02-01 07:57:32 +00:00
|
|
|
To build the Web service utility component (requires Apache Axis2/C):
|
2010-01-11 08:30:15 +00:00
|
|
|
--enable-webservice
|
|
|
|
|
2010-02-01 07:57:32 +00:00
|
|
|
To build the Queue utility component (requires Apache Qpid/C++):
|
|
|
|
--enable-queue
|
|
|
|
|
2010-03-10 09:34:11 +00:00
|
|
|
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):
|
2010-02-01 07:57:32 +00:00
|
|
|
--enable-chat
|
|
|
|
|
2010-01-05 09:17:17 +00:00
|
|
|
To generate doxygen documentation, add:
|
|
|
|
--enable-doxygen
|
2009-11-30 08:36:59 +00:00
|
|
|
|
2010-01-05 09:17:17 +00:00
|
|
|
To configure where to find dependencies, see the --with-* options described
|
|
|
|
in the configure help:
|
2009-11-23 05:48:11 +00:00
|
|
|
./configure --help
|
|
|
|
|
2010-01-06 06:35:48 +00:00
|
|
|
|
2010-02-01 07:57:32 +00:00
|
|
|
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:
|
2010-01-05 09:17:17 +00:00
|
|
|
|
|
|
|
./configure --prefix=$HOME/tuscany-sca-cpp-bin \
|
|
|
|
--with-apr=$HOME/httpd-2.2.13-bin --with-httpd=$HOME/httpd-2.2.13-bin \
|
2010-03-27 16:57:21 +00:00
|
|
|
--with-libcurl=$HOME/curl-7.19.5-bin --with-libxml2=/usr \
|
2010-03-13 18:40:42 +00:00
|
|
|
--with-js-include=/usr/include/xulrunner-1.9.1.8/unstable \
|
|
|
|
--with-js-lib=/usr/lib/xulrunner-1.9.1.8 \
|
2010-02-17 04:14:31 +00:00
|
|
|
--enable-threads \
|
2010-01-11 08:30:15 +00:00
|
|
|
--enable-python --with-python=/usr \
|
|
|
|
--enable-java --with-java=/usr/lib/jvm/default-java \
|
|
|
|
--enable-webservice --with-axis2c=$HOME/axis2c-1.6.0-bin \
|
2010-02-01 07:57:32 +00:00
|
|
|
--enable-queue --with-qpidc=$HOME/qpidc-0.6-bin \
|
|
|
|
--enable-chat --with-libstrophe=$HOME/libstrophe \
|
2010-03-27 16:57:21 +00:00
|
|
|
--with-vysper=$HOME/vysper-0.5 \
|
2010-01-30 08:06:00 +00:00
|
|
|
--enable-maintainer-mode
|
2010-01-05 09:17:17 +00:00
|
|
|
|
2010-01-06 06:35:48 +00:00
|
|
|
|
|
|
|
To build the Tuscany SCA runtime, do this:
|
2009-11-23 05:48:11 +00:00
|
|
|
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
|
|
|
|
|
2010-01-06 06:35:48 +00:00
|
|
|
|
2010-01-05 09:17:17 +00:00
|
|
|
Installing
|
|
|
|
==========
|
|
|
|
|
2010-01-06 06:35:48 +00:00
|
|
|
To install the Tuscany SCA binaries, do this:
|
2010-01-05 09:17:17 +00:00
|
|
|
make install
|
|
|
|
|
2010-01-30 08:06:00 +00:00
|
|
|
|
|
|
|
Building dependencies from source
|
|
|
|
=================================
|
|
|
|
|
2010-02-01 07:57:32 +00:00
|
|
|
Here are example build and install steps for some of the dependencies.
|
2010-01-30 08:06:00 +00:00
|
|
|
|
2010-02-17 04:14:31 +00:00
|
|
|
Apache HTTPD, including APR, using the HTTP prefork MPM (recommended):
|
2010-01-30 08:06:00 +00:00
|
|
|
./configure --enable-ssl --enable-proxy --enable-rewrite --with-included-apr \
|
|
|
|
--with-mpm=prefork --prefix=$HOME/httpd-2.2.13-bin
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
export PATH=$HOME/httpd-2-2.13-bin/bin:$PATH
|
|
|
|
|
2010-02-01 07:57:32 +00:00
|
|
|
Apache Axis2/C:
|
2010-03-13 18:40:42 +00:00
|
|
|
./configure --enable-libxml2 --enable-openssl \
|
2010-01-30 08:06:00 +00:00
|
|
|
--with-apache2=$HOME/httpd-2.2.13-bin/include --prefix=$HOME/axis2c-1.6.0-bin
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
export AXIS2C_HOME=$HOME/axis2c-1.6.0-bin
|
|
|
|
|
2010-02-01 07:57:32 +00:00
|
|
|
Apache Qpid/C++:
|
|
|
|
./configure --prefix=$HOME/qpidc-0.6-bin
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
|
2010-03-27 16:57:21 +00:00
|
|
|
CURL
|
|
|
|
./configure --prefix=$HOME/qpid-7.19.5-bin
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
|
2010-02-01 07:57:32 +00:00
|
|
|
Libstrophe:
|
|
|
|
git clone git://code.stanziq.com/libstrophe
|
|
|
|
cd libstrophe
|
|
|
|
git submodule init
|
|
|
|
git submodule update
|
|
|
|
aclocal
|
|
|
|
automake --add-missing --foreign --copy
|
|
|
|
autoconf
|
2010-02-17 04:14:31 +00:00
|
|
|
./configure --prefix=$HOME/libstrophe-bin
|
2010-02-01 07:57:32 +00:00
|
|
|
make
|
2010-02-17 04:14:31 +00:00
|
|
|
make install
|
2010-02-01 07:57:32 +00:00
|
|
|
|