ApCoCoA-1:HowTo:Compile ApCoCoALib on Windows

From ApCoCoAWiki
Revision as of 11:28, 25 February 2008 by Matthias Machnik (talk | contribs)


  • This site is set up to collect all necessary bits and pieces to compile the ApCoCoALib on Windows.
  • This description is made for compiling the ApCoCoALib with MSVC 2003/2005.


Before compiling the ApCoCoALib you need to install the following files/libraries:

  • CoCoALib: The ApCoCoALib is based on and extends the functionalities of the CoCoALib. You need to compile the CoCoALib prior to the ApCoCoALib.
    • Find a description on how to install the CoCoALib on Windows here.
  • Blas and Lapack Library: You will need those libraries to enable a few features in the ApCoCoALib. You can either download the full libraries or get a selection of files needed for the ApCoCoALib.
    • Download and install the complete libraries via ATLAS.
    • A selection of needed files can be found [http:// here]. Download the archive and extract it to your local harddisk. We will refer to these files with the keyword %BLLApath
  • Optionally you can install LinBox which can improve the FGLM techniques especially over finite fields and lets you call LinBox functions from within the ApCoCoA GUI.
  • HG mercurial: You will need this software to download the latest ApCoCoALib from a repository. The ApCoCoALib is managed with the source control system mercurial. We will refer to TortoiseHG. TortoiseHG will install mercurial on your system and adds a context menu in the MS Explorer providing many of the needed functionalities.
    • Download TortoiseHG here.
    • A more detailed documentation on you how to use mercurial can be found here.
    • General information on the ApCoCoALib source code management can be found here.
  • Intel MKL: You need the Intel MKL installed on your computer.

Download Instructions

Get your prefered ApCoCoALib version (stable or developer) from the repo site. A brief instruction using TortoiseHG is:

  • Add a folder on your local harddisk for the local repo copy.
  • Open the context menu entry TortoiseHG->Clone a repository.
    • As the source path copy the selected link from the repo site.
    • As the destination path select your created folder.
    • Start the download of the ApCoCoALib with the clone button.

Compilation Instructions

Config File

Prior to compilation you have to adjust the configuration file. Open the file makefile.vc.conf in the configuration subfolder. Set the %GMPpath by adapting the following two lines: <c> _GMP_INCLUDE=..\..\..\gmp_p4_dll _GMP_LIB=..\..\..\gmp_p4_dll\gmp.lib </c> _GMP_INCLUDE contains the path to your GMP binaries. _GMP_LIB points to the gmp.lib file.

Set the include pathes for the CoCoALib and the Intel MKL in the following lines <c> _INCLUDES=/I $(_GMP_INCLUDE) /I ..\..\include /I ..\..\..\CoCoALib-0.9914\include \

         /I ..\..\..\IntelMKL\include


Note: All pathes shown here are relative pathes to the ApCoCoALib folder.


Open a Visual Studio command prompt and change to your local ApCoCoALib folder. Use the nmake command to compile the ApCoCoALib: <c>nmake -f Makefile.vc</c> Will display all available targets. <c>nmake -f Makefile.vc ApCoCoALib</c> Will build the ApCoCoALib.


If you encounter problems check out the forum: ApCoCoA Forum