You are here: UCM Web>UCMNavSourceCode (21 Feb 2006)

UCMNav Source Code

How about building your own version of UCMNav, fixing bugs, and contributing to other improvements and binary distributions? The latest UCMNav code is available on our SVN server at:

  • svn:// (please contact Daniel Amyot if you need an account)

Although building for Linux, Solaris, MacOS etc. is fairly simple, building for Windows with Cygwin is a bit more challenging.

Cygwin-based Building of UCMNav

The following instructions are also useful if you target other platforms.

Step 1: Get and install Cygwin, g++, and Cygwin/X

Cygwin is available at (follow the instructions on this Web site).

Here are some of the packages useful to set up an environment to compile and run UCMNav. From the Cygwin Setup program, once a server has been selected, add the following packages (other dependent packages will be selected automatically by this Setup program). Some servers will time-out if you are not quick enough with your selection of packages, but you may select and install these packages in several steps if you want.

  • Archive: sharutils, unzip, zip
  • Devel: autoconf, automake, binutils, bison, cmake, ctags, cvs, ddd, doxygen, expat, flex, gcc, gcc-g++, gcc-mingw-core, gcc-mingw-g++, gdb, make, mingw-runtime, mktemp, patchutils, rcs, splint
  • Libs: jpeg
  • Math: bc
  • Mingw: mingw-zlib
  • Net: openssh, openssl
  • Publishing: psutils
  • X11: X-start-menu-icons, X-startup-scripts, Xaw3d, Xorg-x11-devel, xorg-x11-f100, xwinwm

Obviously, one can also add other packages which are unrelated to UCMNav (e.g. TeTeX, vim, other X11 applications, Web applications and servers, etc). Overall, one can easily use between 0.5 and 1 GB of disk space for setting up a complete Cygwin environment. This process may take a while, but it needs to be done only once.

Step 2: Get and install XForms

XForms 1.0.X, the graphical library used by UCMNav, is available at:, or more precisely at

XForms requires the jpeg and xpm libraries (selected above in the Cygwin distribution). For other platforms, these libraries may have to be installed by other means.

Uncompress the files in a directory, and then type:

  • ./configure
  • make
  • make install

(more explanations are given in INSTALL). This process may take a while, but it needs to be done only once.

By default, this installation process will place the libraries in /usr/local/lib. They can be copied/linked elsewhere if necessary (e.g. /lib).

Step 3: Get and install UCMNav

The UCMNav 2.x source code is available from svn://

Download the code in a directory, and then check that the file makeflags uses appropriate directories (this should be the case). Then, use make (or gmake if necessary) to compile the code.

Running UCMNav requires one to:

  1. Set the UCMNAV_HOME environment variable. In bash:
    • export UCMNAV_HOME=path_to_the_two_following_files
    • The default location is /usr/share/ucmnav
  2. Make sure that the files and ucmnav-help.txt are accessible in UCMNAV_HOME
    • It is strongly advised to create /usr/share/ucmnav and copy these two files there (in which case UCMNAV_HOME doesn't have to be defined)
  3. Start an X-server. In bash:
    • export DISPLAY=localhost:0.0
    • startx
    • ucmnav

-- Daniel Amyot - 21 Feb 2006

Topic revision: r1 - 21 Feb 2006 - 00:49:19 - Daniel Amyot
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback