The CHomP Software Compilation Guidelines

The CHomP software can be compiled with a relatively recent C++ compiler in Linux, SunOS, Mac, as well as in Windows. Since the authors of the software have access to a limited number of workstations running various operating systems to test the compilation procedure and the software itself, unexpected problems may occur; we apologize for any inconvenience.


System Requirements

GNU make is required to handle the makefiles included in the project, because several extensions provided by GNU make are used there, and they may not be supported by other kinds of make software.

GNU C++ Compiler is suggested, but other compilers may also be supported, although the code may need some minor adjustments then; the GNU C++ compiler is usually installed in most reasonable operating systems; for Windows, one has to install it on their own: the wxDevcpp distribution is recommended.

Perl interpreter is required in Windows (this is a temporary solution until separate makefiles for Windows are prepared); freely available Active State's Active Perl is recommended.

In order to compile the programs that use graphics (showcubes in the Advanced Version of CHomP, for instance), one has to install the wxWidgets library; however, in some systems these programs still may not work (some tests show that Windows and Linux are supported correctly, but MacOS is not).


Compilation Instructions

This section contains step-by-step instructions on how to compile the CHomP software; it applies to both the Basic Version, as well as the Advanced Version of the software.

Step 1. Make sure you have all the necessary software. This is important especially in Windows which lacks the default C++ compiler and Perl is required. To check the versions of the software, type the following commands at the command prompt (or in a text termional) and read the output:

perl --version any version of Perl should do (required only in Windows)
g++ --version the version of the GNU C++ compiler should be at least 3.3; some versions 4.0.* don't work because of bugs in the compiler
make --version version 3.77 or higher of GNU make is recommended
wx-config --version versions 2.6.* and 2.8.* of wxWidgets are confirmed to work fine in Windows and in Linux; wxWidgets is only required to compile some grpahics programs, which are not crucial for the core homology software

Step 2 (optional). Compile and install the wxWidgets library. This step is only necessary if the wxWidgets library is not present in the system and you are interested in the additional graphics software included in the CHomP package. To do this, download the source code of the library for your machine from the wxWidgets Website, uncompress the provided archive file, and compile and install this library using the following commands (you may need to modify the details):

./configure --with-opengl
make
su -
make install

If you don't know the superuser's password or don't want to install the wxWidgets library system-wide (or don't want to use the default wxWidgets library, which may be necessary in some cases), you can add the following options to the first line above: --prefix=/your_home_directory/wx. Note that you may need to modify the corresponding file in the make/config subdirectory of the CHomP source code package to set the right path to the wxWidgets library.

Since the default wxWidgets library available in Mac OS/X seems to be unsuitable for the graphics programs provided with the CHomP package, Zin Arai prepared specific instructions on how to overcome this problem.

Because of some problems with the Xlib headers on SUN Solaris, one should additionally pass the option --enable-permissive to the configure script before the compilation.

Step 3. Download the source code of the CHomP package. The source code of the library and programs can be downloaded from the Download Page: either the Basic Version (chomp-src.zip for Windows or chomp-src.tar.gz for all the other operating systems) which contains the chomp program and only part of the CHomP library, or the Advanced Version which contains "everything" (chomp-full.zip for Windows or chomp-full.tar.gz for all the other operating systems). In case of using the .zip file (in Windows), create an empty folder and unpack the file to that folder. If using the .tar.gz file, just unpack it (e.g., with the command gunzip -c file.tar.gz | tar xf -); the subdirectory chomp or chomp-full is already included in this archive file.

Step 4. Compile the software. Open a terminal window (or command prompt), enter the main directory of the unpacked source code (e.g., the chomp directory), and type make target=***, where *** should be replaced by one of the following, depending on the operating system and compiler used:

unx for a typical Un*x or Linux
wx as above, with the wxWidgets library
win for the MinGW port of GNU C++ for Windows
wxdev for the wxDevCpp compiler package in Windows
wxmac for wxWidgets compiled locally for Mac

Some other configurations may also be supplied with the CHomP package; browse the files in the directory make/config for more information. You may want to create a specific configuration file for your needs, for example, if you prefer to use a compiler different than the default g++.

Please, do not use the option -j with the make command; it may lead to compilation errors. The makefile located in the make subdirectory has more features than the one which can be found in the root subdirectory of the CHomP source code; please, use it to compile individual modules or selected programs, or to clean the object and library files after the compilation of executables.

Note that the compiled binary programs are placed in the bin subdirectory, so you may want to add this directory to your system's path, or copy those files to some other directorly, like /usr/bin. The intermediate compilation files are created in the obj and lib subdirectories.


Programs that Use the CHomP Library

In order to compile one's own programs that use the CHomP Library, one can do the following steps: