CoCoA:Building CoCoA4 On Windows

From ApCoCoAWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Opening Remarks

Unfortunatly CoCoA 4.4 is not open source. We plan to release an open source reimplementation some time in the future. Still, in order to properly document the process of getting CoCoA 4.4 compiled on Windows this page describes it in all details. Should our windows guy be hit by a bus tomorrow at least somebody else should be able to do some of his work without too much difficulty.

Getting the Toolchain installed

Unlike earlier releases of CoCoA the Windows build can be build using the MinGW toolchain. MinGW is the Minimalist GNU for Windows environment. Using this toolchain reduces the need to do platform specific hacks, allows us to use the same makefiles (since nmake, the make used by Microsoft Windows C and C++ compiler, is quite different from the standard gnu make) and reduces the complexity of maintainig the project in general. Not having to pay for Visual Studio is an added bonus.

First one needs to install MinGW. The version we used was 4.1.0. You can get the installer from the MinGW website. Choose the complete install for the time being, installed it should weigh in around 150MB. Since you probably don't want to use the default Windows command prompt you should also install MSYS which is a shell that can be used in conjunction with the MinGW tools. You can get MSYS from the Downloadsection of the MinGW website. Current version at the time of this writing was 1.0.10, which was less than 3M in size. If the installation completes successfully you should end up with an MSYS icon on the desktop. The last package we need is the MSYS Developer Tool Kit, which provides us with the tools to build the gmp in the next step. After installing the package you are ready to take the next step.

Building the gmp

The gmp is the GNU Multiple Precision Arithmetic Library. Since compiling the library is pretty much the same procedure on all of the platforms we build CoCoA on, check out Building_the_gmp for instructions how to do it.

Building QT

Due to its closed source nature you need a commercial qt license to build CoCoA 4.4. We use the 3.3.4 release, a 2.x release might also work but hasn't been tested since 2002. Since you have the sources you probably know the right person in the CoCoA project to get the licensing information and the necessary setup files. When building qt on Windows you should build a dynamic as well as a static version of qt in different directories. Make sure to use MinGW as your compiler if you have more compilers installed. If the qt installer complains about not finding mingw32-make.exe make sure that %PATH% contains the directory of the bin directory of the MinGW installation. Building qt with MinGW takes quite some time, specifically the linking can eat up lots of space and CPU cyles (on a 2.4Ghz Athlon with 1.5G of RAM the linker ate 450MB of memory and 20+ minutes when linking qt-mt334.dll - you have been warned). For an explanation why linking takes so long you can check out this thread from the qt mailing list archive.

Bugs

For a list check out CoCoA4.4_Buglist

ToDo

  • Finish page Mabshoff 11:20, 21 Jun 2005 (CEST)