Oprettelsesdato: 16-06-2010 11:33:53
This post will be rather technical, and therefore in english.
Installing the POETS framework on a fresh linux machine requires some leg work. First of all, there are a number of direct dependencies for the POETS server:
- Haskell ghc 6.12+
- Cabal 1.8+
ghc and cabal can be installed using normal package managers. The Flex package is needed for thrift, so we'll install this now:
sudo apt-get install ghc6 cabal-install git libghc6-zlib-dev automake libtool libboost-all-dev happy bison flex
After this, cabal needs to be updated and configured:
Before any packages are installed using cabal, we need to install the newest version of parsec. This is because many packages depend on parsec, but they depend on version 2. POETS uses version 3, so installing version 3 after all other packages can lead to inconsistencies. This is done using:
cabal install "parsec>3"
At the time of writing, a there exists a newer version of cabal, than the one present in the Ubuntu package manager. This is easily fixed by:
cabal install cabal-install
Thrift must be built. First get the source using Git (Git must be installed if not already present)
git clone git://github.com/dreiss/thrift.git
Install it using:
sudo make install
There is a bug in the Thrift inplementation for ghc 6.12 because "rec" is a keyword. Open lib/hs/src/Thrift.hs and replace "rec" with "trec".
Now thrift must be installed for Haskell:
POETS uses the Generic Discrimination library by Henglein et. al. and this needs to be installed. It is not publicly available, but can be downloaded from DIKU's system. Assuming we are in the root of the library folder:
Now. POETS uses many packages from the Hackage repository made available through cabal. These are:
haskell98, derive, ConfigFile, network, hslogger, time, old-locale, base >= 4, directory, filepath, stm, ghc >= 6.12, ghc-paths, split, binary, containers, mtl, wl-pprint, parsec, xml, datetime >= 0.2, xsd, MissingH, array
and must be installed using cabal install. Now the POETS server can be installed using (assuming we are in the haskell folder of the poets repository):
The server can be started using:
./dist/build/poetsserver/poetsserver <config file>
There currently exists two UI implementations, one based on JavaFX and one based on the Android API.
For the JavaFX implementation, javacc and javafx 1.3+ are needed. These are available from the Internet.
For the Android API, the Eclipse with android is needed. This is available from the developer.android.com website.