Compiling under linux

Compiling Fokko and atlas under linux

You need a recent version of gcc. Version 4.1.2 should do. To find out your version do

gcc -v.

In the working directory type:


This should compile the software. You may need to edit the line "CXX =g++" to replace g++ with your C++ compiler.

If you get an error related to readline see installing the readline package.

If you get an error:

ctanglex: Command not found

see installing cwebx

Compilation options: We recommend compiling with

make verbose=true

Other possibilities are

optimize=false (default is true),

Installing Fokko and atlas

To install the executables in [installation directory] and put symlinks in [binary directory], type:

make install INSTALLDIR=[installation directory] BINDER=[binary directory]

The default BINDIR is INSTALLDIR/../bin.

Example: To install the executables in /usr/local/atlas, and symlinks in /usr/local/bin, type:

sudo make install INSTALLDIR=/usr/local/atlas

(for which you probably need root access).

Example: To install the executables in /home/userid/software/atlas, and symlinks in /home/userid/bin, type:

make install INSTALLDIR=/home/userid/software BINDIR=/home/userid/bin

Example: Say you unpacked the software in /home/userid/atlas_0.5.1. To leave the software there, and create symlinks in /home/userid/bin, type:

make install

Note that the messages (help) directory must be in the same directory as the atlas executable. Alternatively you can run atlas with the command


to specify where to find this directory.

The readline package

The software uses the readline package to provide very useful command line tools, including CTRL-p for previous line, tab completion, etc.

To compile atlas with readline you need the development version of readline. To install this under Debian-based systems (including Ubuntu), do

sudo apt-get install libreadline-dev

On redhat-like systems do

sudo yum install libreadline-dev

This line in the makefile tells the software where to find the readline library:

rlincludes = -lreadline -lcurses

On some systems it is necessary to replace -lcurses with -lncurses.

If all else fails you can compile readline using:

make readline=false

to compile the software without readline.

Installing cwebx

If you downloaded a tar/tgz file from the download page at google, you should not need to install cwebx. If you downloaded the software using git, cweb is needed to compile atlas. cwebx is included in this distribution in the directory cweb-x3.51, or from

Running make should compile cwebx, and produce the executables cweb-x3.51/ctanglex and cweb-x3.51/cweavex. The file sources/interpreter/Makefile tells the compiler to look for these executables. If you move the cweb-x3.51 directory, or want to use different versions you must edit this Makefile.

Also, you need to have a working copy of tex in your path to run cweavex.