wiki:BuildNom

Building NOM

Note that this information is for the OS/2 build. This is a first draft. It's quite possible some stuff is missing (e.g. some non-standard library I have installed but forgot about).

If you have problems visit the #netlabs channel on the eCS IRC network and try to catch Cinc.

Prerequisites

The following tools must be installed properly

Note that the links are for the OS/2 versions of the various packages. For other platforms you have to look somewhere else.

Getting the source

The source is available in the netlabs.org SVN repository. All development is done in the trunk atm.

You have to install the subversion client for OS/2. Get it from http://silk.apana.org.au/subversion/. Just put the binaries in your path and set your HOME directory in config.sys (you need a home dir anyway for most *nix programs).

SET HOME=x:\my_home_dir

Create a working directory on your system, cd into it and check out the source. I strongly recommend to put the sources on the same drive your *nix tree is located.

svn co http://svn.netlabs.org/repos/voyager/nom/

This will get all the stuff including everything what's deprecated.

Compiling It

There's no main makefile atm. You have to build the various pieces on your own in the order shown below.

Note that you may safely ignore the ORBit2-2.14.0 directory.

Before you start change the paths in x:/source_base/nom/trunk/make.inc to match your setup.

Garbage Collector

NOM uses garbage collected memory only. Go to http://www.hpl.hp.com/personal/Hans_Boehm/gc/index.html if you want to learn more about the GC. The GC will be statically linked to the NOM runtime.

  1. CD into x:/source_base/nom/trunk/gc6.8
  2. Run ./configure
  3. If configure fails, fix the problem and try again...
  4. Run make

Note that this is a typical *nix package. Having a sane build environment is key to success. Failing 'configure' is not a rare thing but more or less the rule.

Be sure to have several different releases of gmake around for trying.

Be sure to have several different autoconf packages around to recreate the configure script if necessary.

Set the config.sys variables properly according to the various readme files. The following environment variables may be useful for you:

  • SET MAKESHELL=...
  • SET MAKE_SHELL=...
  • SET CONFIG_SHELL=...
  • SET CONFIG_SITE=...
  • SET UNIXROOT=<drive letter with your *nix stuff>
  • SET M4=...
  • SET AC_PREFIX=...

IDL Compiler

  1. CD into .../nom/trunk/idl-compiler
  2. Run make

After successfully building the compiler you should have a bin directory holding the executable (nom-idl-compiler.exe).

x:\source_base\bin

NOM Kernel and Runtime

  1. CD into .../nom/trunk/nom
  2. Change the paths in make.inc to match your setup
  3. Run make

Test program

  1. CD into .../nom/trunk/test
  2. Run make

The resulting executable nom-test.exe can be found in x:\source_base\bin.

Running it shouldn't show any errors.

Last modified 9 years ago Last modified on Apr 13, 2008, 6:15:29 PM