Installation on Ubuntu Linux
Install the following packages:
$ sudo apt-get install build-essential cmake cmake-curses-gui xsltproc
To build the pdf reference manual you need the following packages
$ sudo apt-get install doxygen texlive-latex-base texlive-fonts-recommended texlive-latex-recommended
Get a supported version of gSOAP from here. Only unpack the gSOAP tarball! Don't install it!
See more informations about tested gSOAP versions under Supported gSOAP Versions.
If you want to recompile gsoap you need the following packages:
$ sudo apt-get install flex bison
Getting the sources
You can either use a release tarball or get the bleeding edge sources from the subversion repository.
From source tarball
Get latest source tarball from download page. Unpack the source tarball with:
$ tar -xzf ws4d-gsoap-[version].src.tar.gz $ cd ws4d-gsoap-[version].src
From subversion repository
$ svn checkout https://trac.e-technik.uni-rostock.de:1443/svn/ws4d-gsoap/trunk/ ws4d-gsoap $ cd ws4d-gsoap
Setup build system
The WS4D-gSOAP build system is based on cmake. cmake supports several kinds of setups. We strongly recommend the out of source setup.
$ mkdir ws4d-gsoap-build $ mkdir ws4d-gsoap-install $ cd ws4d-gsoap-build $ cmake -DGSOAP_PATH:PATH=[absolute path to gsoap installation] \ -DCMAKE_INSTALL_PREFIX:PATH=[absolute path to installation directory] \ [path to ws4d-gsoap sources]
To use the interactive ccmake configuration tool, you can also run
$ ccmake [path to ws4d-gsoap sources]
The ccmake tool is a curses-based dialog that may be used to interactively configure WS4D-gSOAP. When it appears press 'c' on the keyboard to run the initial configuration of the WS4D-gSOAP build system. Eventually a set of configuration options will appear. These may be edited using the arrow-keys and the ENTER key for navigation. See below for details on the meaning of each of these options.
Once the options have been set as desired, press 'c' again to reconfigure. New options may appear when earlier options are adjusted. Keep adjusting options and pressing 'c' until the desired configuration is reached. Finally press 'g' to actually generate the build system. Now that the build system has been generated just run make to build WS4D-gSOAP.
You should configure the following options:
- GSOAP_PATH: the absolute path to the directory where the source tarball of gsoap was unpacked.
- CMAKE_INSTALL_PREFIX: the absolute path to the directory where this gsoap configuration should be installed. You should use the ws4d-gsoap-install directory created before.
Build and install WS4D-gSOAP
Go to the directory where you configured the WS4D-gSOAP build system.
$ cd ws4d-gsoap-build $ make install
or with more verbose make output
$ make VERBOSE=1 install
Results of installation
After installation you will find the following directory structure inside the cmake install prefix specified before
$ cd ws4d-gsoap-install $ ls -lR
- bin: tools for working with and testing devices and code generation
- etc/ws4d-gSOAP: startup scripts and configuration files
- include/ws4d-gSOAP: header files for API
- include/ws4d-gSOAP/WS: gsoap header files of WS-specifications used in DPWS
- lib/ws4d-gSOAP: libraries implementing dpws: dpwsD - device side, dpwsDmt - device side with multithreading support, dpwsC - client side, dpwsCmt - client side with multithreading support, dpwsS - dpws c databinding of xml schema types
- share/ws4d-gSOAP: xslt files for metadata code generation
- share/ws4d-gSOAP/cmake-modules: cmake modules for projects using the stack and cmake as build system
- share/doc/ws4d-gSOAP/refman.pdf: Documentation for ws4g-gSOAP in pdf format.
- share/doc/ws4d-gSOAP/html: Documentation for ws4g-gSOAP in html format.
- share/doc/ws4d-gSOAP/example: This example shows how to use the stack in an external project with cmake as build system.
- share/doc/ws4d-gSOAP/hosted-example: This example shows how to use create a service for the hosting service mechanism of ws4d-gSOAP.
- share/doc/ws4d-gSOAP/peer-example: This example shows how to create a dpws peer (client and device at the same time) with ws4d-gSOAP.