So far Koala only runs on Windows. I hope to fix this as soon as possible.
If you’re using the binary version, you can start the demo application by double clicking on koala-example.exe in the koala/bin/ directory.
If you have the source version, see Building Koala, below.
Point your browser at http://localhost/ to browse the documents in koala/www, or <http://localhost/demo/home.dsp for the Dylan Server Pages demo. If you want to change the default settings (for example the port number or document root directory) you can edit a copy of koala-dir/config/koala-config.xml and put it in sources/example/config/koala-config.xml. The config file has many comments explaining configuration settings.
Building on Windows
If you have a source distribution then you can build Koala using Functional Developer (free evaluation versions available). Just open sources/koala-app/koala-app.hdp in FunDev and choose Project / Build
from the menu. You will probably want to edit the koala-config.xml file to turn on debugging. (See comments in the file for how to do that.)
Building on Linux
(Thanks to Hannes Mehnert for figuring out how to do this.)
- get fundev cvs module
- apply following patch (in Sources/lib/run-time/pentium-linux/) to mask SIGPIPE:
diff -u -r1.1.1.1 x86-linux-exceptions.c --- x86-linux-exceptions.c 12 Mar 2004 00:09:07 -0000 1.1.1.1 +++ x86-linux-exceptions.c 30 Mar 2004 00:56:20 -0000 @@ -54,6 +54,8 @@ struct sigaction newFPEHandler; struct sigaction newSEGVHandler; + sigset_t set, oldset; + newFPEHandler.sa_handler = oldFPEHandler->sa_handler; sigemptyset(&newFPEHandler.sa_mask); newFPEHandler.sa_flags = 0; @@ -63,6 +65,10 @@ sigemptyset(&newSEGVHandler.sa_mask); newSEGVHandler.sa_flags = 0; sigaction(SIGSEGV, &newSEGVHandler, oldSEGVHandler); + + sigemptyset(&set); + sigaddset(&set, SIGPIPE); + sigprocmask(SIG_BLOCK, &set, &oldset); } static void RemoveDylanExceptionHandlers (struct sigaction * oldFPEHandler,
- bootstrap fundev
- get libraries cvs module
- make a personal registryThere’s a simple script to create the registries for you, in
KOALA-DIR/make-registries.sh. For example, if your koala checkout
is in /home/me/libraries/koala and you want your registry to be in
/home/me/dylan:cd /home/me/dylan /home/me/libraries/koala/make-registries.sh ../libraries/koala
- start Bootstrap.final/bin/minimal-console-compiler
- set personal-root “/home/me/dylan/registry”
- open koala-app
- build(you’ll find the build products in /home/me/dylan/registry/Build/bin)
- create /home/me/dylan/registry/Build/config/ and put koala/config/mime-type-map.xml
and koala/config/koala-config.xml in it - If not running koala-app as root, update koala-config.xml to use a port
number above 1024. - If you’re on linux-2.6 you need to set THREAD_LIBRARY_USES_SEGMENT_REGISTER to TRUE
(export THREAD_LIBRARY_USES_SEGMENT_REGISTER=TRUE in bash,
setenv THREAD_LIBRARY_USES_SEGMENT_REGISTER TRUE in tcsh)
and run ‘strace ./dsp-basics’ - now run koala-app
User’s Guide
–TO BE DOCUMENTED–
To access the XML-RPC server, POST to http://localhost/RPC2.
(Going to that URI when Koala is running will result in a valid XML-RPC fault response, since
there’s no request document to parse.)
The XML-RPC client is available as the xml-rpc-client library in
koala-dir/sources/xml-rpc-client. The main interfaces are the
xml-rpc-call and xml-rpc-call-2 methods. The latter takes a port number
and URL in addition to the method name and arguments.