Primeiro, terá de compilar algum software necessário ao OGo. O directório onde esse software se encontra é o "ThirdParty". (cd ThirdParty)

Make => ObjC-Runtime => libFoundation => libxml2 => libical => SpiderMonkey

Requisitos

Para compilar a primeira fase deste sotware (Software de terceiros) deverá ter instaladas algumas ferramentas GNU. Use o gestor de pacotes do seu sistema para instalar os pacotes necessários.

  1. compilador GNU Objective-C (parte do GCC poderá encontrar-se num pacote (RPM/Deb) separado, normalmente chamado gcc-objc).
  2. GNU make (requisito mínimo para o gnustep-make)
  3. flex (para a libical)
  4. bison (para a libical)
GNUstep Make [seguinte]

GNUstep make é um pacote para facilitar a compilação de módulos partilhados e bibliotecas em várias plataformas. Para além disso, o GNUstep make fornece um ambiente de shell para suportar instalações independentes da sua localização (sem pathes específicas, compiladas no software).

cd gnustep-make
./configure --prefix=$HOME/OGo \
    --without-system-root \
    --with-network-root=$HOME/OGo \
    --with-local-root=$HOME/OGo \
    --with-user-root=$HOME/OGo \
    --with-library-combo=gnu-fd-nil
make -s install
cd ..
source $HOME/OGo/Makefiles/GNUstep.sh

Um directório contendo a distribuição do OGo será criado no seu directório home. Para todos os passos seguintes, deverá assegurar-se de que o ambiente GNUstep está carregado (através do GNUstep.sh) !

Verifique: O directório $HOME/OGo foi criado e contém o directório Makefiles. Mais importante do que isso, verifique que o GNUstep.sh se encontra no directório Makefiles.


GNUstep Objective-C Runtime [next] | [prev]

Neste momento, não é realmente necessário ter um runtime Objective-C próprio. Assim, o OGo deverá funcionar correctamente com o sistema fornecido pelo GCC. De qualquer forma, com um runtime próprio, o desenvolvimento para o sistema Windows torna-se-á mais fácil.

cd gnustep-objc
make -s debug=yes install
cd ..

Isto irá instalar a biblioteca partilhada libobjc e os seus headers no directório de desenvolvimento OGo.

Verifique A libobjc_d.so.2 deverá encontrar-se na árvore do OGo (por exemplo, tente: find $HOME/OGo -name libobjc_d.so.2).


libFoundation Library [seguinte] | [anterior]

The libFoundation library, initially written by Ovidiu Predescu <ovidiu@apache.org> and Mircea Oancea, contains an implementation of the OpenStep Foundation API (basic things like collection and string classes, operating system abstractions etc).

cd libFoundation
./configure --with-gnustep
make -s debug=yes install
cd ..

This will configure libFoundation for GNUstep (required for OGo) and install it into the OGo root, headers, shared library and the Defaults tool.

Check for success: This package provides a tool called Defaults to manage configuration data (NSUserDefaults). You can check whether libFoundation is properly installed by trying it:

$ Defaults write a b 10
$ Defaults read a
{
    b = 10;
}


libxml2 [next] | [prev]

OGo uses libxml2 to process XML and HTML files. This library is wrapped by skyrix-xml in SAX parsers and used by SOPE.
Note: you should also be able to use the libxml2 library coming with your system.

cd libxml2
./cfg-gnustep.sh
make -s install
cd ..

This will configure libxml2 as required by OGo and install it into the OGo deployment path. That way you can update system and OGo libxml2 libraries without conflicts.

Check for success: After installation $HOME/OGo/Headers/ should contain a directory libxml (containing a subdirectory libxml2). A subdirectory $HOME/OGo/Libraries/ should contain libxml2.so.2.


libical [next] | [prev]

The libical library is used for parsing iCalendar and vCard files. Actually OGo wraps libical in a SAX XML driver in skyrix-xml and processes the structures parsed by libical as XML entities. That way it can easily work on 'iCalendar files in XML syntax' (eg used in WCAP and xCal).

cd libical
./cfg-gnustep.sh
make -s install
cd ..

Like with libxml, this will configure libical as required for OGo and install it into the OGo deployment root.

Check for success: After installation $HOME/OGo/Headers/ should contain the ical.h header file. A subdirectory $HOME/OGo/Libraries/ should contain libical.so.0.


SpiderMonkey JavaScript Engine [prev]

SpiderMonkey is the JavaScript engine provided by the Mozilla project. In OGo it is used for implementing user defined forms and scripted templates in SOPE. It's functionality is wrapped in the JavaScript/Objective-C bridge (skyrix-sope/NGJavaScript).

cd js
make -s install
cd ..

This will install SpiderMonkey into the OGo deployment root. It's already preconfigured for OGo in the CVS.

Check for success: The $HOME/OGo/Headers/ headers directory should contain a js subdirectory containing the SpiderMonkey header files, a subdirectory $HOME/OGo/Libraries/ should contain libjs_d.so.1 and a tool js should be available, it can be used to test the JavaScript interpreter:

$ js
js> print(13 + 29)
42

After you have finished building the basic things from ThirdParty required for OGo, you can go on building the core application server, SOPE.