========================== OpenSOAP Install procedure ========================== Platforms on which OpenSOAP has been verified ============================================= opensoap2 compilation and operation has been verified on the following platforms (from opensoap-2.0.1) Linux [ok] Red Hat Linux 7.3 (RPM package available, no DSO support for apache1) [ok] Red Hat Linux 9 (RPM package available) [ok] Fedora Core 2 (RPM package available) [ok] VineLinux 2.6 (RPM package available, no DSO support for apache1) [ok] SuSE Linux 9.1 Personal (RPM package available) [ok] Debian Woody (no DSO support for apache1) [ok] Debian Sarge [ok] Slackware 10.0 [ok] Mandrake Linux 10.0 BSD [ok] FreeBSD 4.7 [ok] FreeBSD 5.2.1 [NG] FreeBSD 5.3 (Currently compilation failure) Sun [ok] Solaris8 sparc [ok] Solaris9 x86 Apple [ok] MacOSX 10.3.3 [ok] MacOSX 10.3.5 [NG] MacOSX 10.2 (Build failure) Microsoft [NG] Microsoft Windows VisualStudio, etc (opensoap2 currently not supported) Before INSTALL ============== To install this package, you need to pre-install the following: 1. libxml2 (http://xmlsoft.org/) 2. OpenSSL (http://www.openssl.org/) * Warning If you install from pkgsrc on NetBSD, `xml2-config' has a bug and you need to modify it so that the output of "xml2-config --cflags" is valid. You may require the development environment for libxml2 like "libxml2-devel" for certain packages like Linux rpm. Simple Installation =================== The following shows how to perform a simple installation: $ ./configure $ make $ su # make install * Warning GNU make may have to be used on the above make. If installing on *BSD, replace the above "make" with "gmake". configure options ================= ./configure --help shows a list of configuration options. If OpenSSL is not installed on the default /usr/local directory, you need to specify the installed directory by --with-ssl=DIR. For example, if files like /usr/local/ssl/include/openssl/rsa.h /usr/local/ssl/lib/libcrypt.o are installed, you can specify that by ./configure --with-ssl=/usr/local/ssl On RedHat9, you may need to specify /usr/kerberos/include directory for compiling OpenSSL. Please refer the result of `pkg-config --cflags openssl`. The easiest way is following: ./configure --with-ssl-include=/usr/kerberos/include If the conversion routine of multibyte strings to widecharacter strings on the system has a bug, "--enable-buildin-mbfuncs" option may possibly avoid the problem. But this workaround can handle only US-ASCII(ISO-8859-1) character encoding. On such enviorments like NetBSD and so on, where iconv doesn't work as expected, using "--disable-system-iconv" option can be a workaround. The OpenSOAP Server CGI interface has now been implemented as an Apache2 DSO module. When using configure, you can now specify --with-apxs[=apxs command path]. By default, the apxs command is assumed to be in /usr/sbin/apxs, and if Apache is version 2 or greater, then a DSO module will be built. If, however no appropriate apxs command cannot be found, then as for OpenSOAP version configuration will proceed without generationg the DSO module. If required, the DSO module creation step can be skipped with --with-out-apxs or --with-apxs=no options to configure. Settings for the Apache 2 DSO module can be found in the file doc/server/README-APACHE-DSO.txt Please read this for more details. Compiling your original program =============================== On the default settings, add "/usr/local/opensoap/include" to the Include Path and "/usr/local/opensoap/lib" to the Library Path. Specify the library with "-lOpenSOAPClient" for client programs, and "-lOpenSOAPService -lOpenSOAPClient" for service programs. On the system with shared libraries, add "/usr/local/lib" to the search path of execution library. For example, with gcc, add "-Wl,-rpath -Wl,/usr/local/lib" to the options for linking libraries. Installation Directories ======================== By default, the OpenSOAP Server is installed under /usr/local/opensoap. Use the -prefix option of configure to specify an alternate installation directory. In previous versions (up to opensoap-1.0-20021130) of this package, the default installation directories were /var/tmp/OpenSOAP, and /usr/local for libraries, header files and executables. To remove older files that have been installed in these directories use the uninstall-olddir.sh script. Also, if there are any services that have been created using the previous OpenSOAP directory structure, attention should be paid to the following points. 1. Libraries Path (/usr/local/lib -> /usr/local/opensoap/lib) If the dynamically linked libraries libOpenSOAP*.so are used, then add the path /usr/local/opensoap/lib to /etc/ld.so.conf and as root run ldconfig to update the library search path. 2. OpenSOAP Server Configuration Files (/var/tmp/OpenSOAP/conf -> /usr/local/opensoap/etc) Previous configuration files (backward.conf, forward.conf, signature.conf) are combined to form a single configuration file server.conf. The keys files for the server are also located in this directory. 3. Running Services From The OpenSOAP Server SSML files are now located in /usr/local/opensoap/etc/ssml/ . (/var/tmp/OpenSOAP/conf/ssml/*.ssml -> /usr/local/opensoap/etc/ssml/*.ssml) Program related files for each service are now located under /usr/local/opensoap/services/ in their respective directories. Eg. for the HelloService, (/usr/localsbin/HelloService -> /usr/local/opensoap/services/HelloService/HelloService).