Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

Installation on Windows

Read this!

This document addresses OpenMS users and explains the installation procedure. If you only want to use the OpenMS Proteomics Pipeline (TOPP), you are strongly encouraged to download the windows binary installer (see here), instead of building OpenMS from sources. The windows binary version should work on many versions of windows including WinXP, VISTA and Win2000 and installation should take you a few minutes only. Be aware though that OpenMS on any windows platform is currently only 32-bit enabled. A 64-bit version is on its way, but we depend heavily on other projects on this matter. If you need 64-bit (for large datasets), we recommend installing OpenMS on Linux.

Warning:
Compilation (not installation!) of OpenMS on Windows is experimental! Currently supported is WinXP (SP2). With a little luck Win2000 should work as well. VISTA is currently NOT supported as compilation platform. Be ready for some serious hacks if you want to try anyway.
This document especially considers the installation of several libraries which are required by OpenMS. Most of these libraries are made available in our "contrib-package" (see below), or can be downloaded as binaries.

Required applications

In order to compile OpenMS, a proper compilation environment is required. We currently use MinGW and MSYS, which provide a Unix-like environment.

Setup of environment

Attention:
Replace all directories in angle brackets with your system specific couterparts, e.g. <path_to_CONTRIB> might become c:/programs/mycontrib
Warning:
If you run into strange error message like "fork : permission denied", switch off Firewall/Antivirus software as they might interfere with MinGW (see http://cygwin.com/acronyms/#BLODA). You might even have to completely uninstall Firewall/Antivirus software, as disabling them might still leave some services running in the background (e.g. Zonealarm Personal Edition).
Attention:
Whenever you added a path to your Windows Path Environment variable, restart MSYS in order for the changes to take effect

You'll find all Software packages related to MinGW and MSYS on the Sourceforge File release page of MinGW (see http://mingw.org/download.shtml) To install a package in .tar.gz format, we recommend using 7-Zip.

  1. Install MinGW (5.1.3)
  2. Install MSYS (1.0.10)
  3. Install msysDTK (1.0.1) (in the same directory where you installed MSYS)
  4. Install MSYS autoconf 2.59 (extract the archive and copy it to the MSYS directory)

Installing required dependency libraries

OpenMS depends on several other libraries. On a windows system, these are usually not present. Some of those libraries again depend on others. Here is a little overview of the dependencies:

  ANDI/MS (requires NetCDF)
  GSL  
  CGAL  
  XERCES-C  
  libSVM  
  Qt (requires other libraries for DB support e.g. MySQL)

In order to make the installation of the required libraries easier, we composed a "contrib-package" containing the libraries ANDI/MS, NetCDF, GSL, CGAL, libSVM and XERCES-C. This contrib package has several advantages over manual installation

We recommend using the contrib package! Qt and MySQL are not contained in the contrib package. If they are not installed on your system, you have to install those two libraries first.

Install Qt There is a binary package of Qt for windows (open-source MinGW version!) available at http://trolltech.no/ (we tested 4.3.2).

²: this includes the version subdirectory, e.g. c:/Qt/4.3.2/bin

Contrib installation

First download the contrib package (you can find the contrib package here).
Alternatively you can check out the contrib from Sourceforge SVN repository
> svn co https://open-ms.svn.sourceforge.net/svnroot/open-ms/contrib
to obtain the latest developer version (potentially unstable).

Now open an MSYS console and do cd <path_to_CONTRIB>, e.g. cd c:/programs/mycontrib and do:

> autoconf
> ./configure
		
The following configure options can be used:

        --with-compiler=CXX  use CXX as C++ compiler (default: g++)
        --with-c-compiler=CC    use CC as C compiler (default: gcc)


If you do not give any configure options, it is assumed that you want to use 'gcc' as C-compiler and 'g++' as C++-compiler.
Next you can build all the libraries with

> make
			

If everything worked, the following sub-directories were created:

In order to point the OpenMS configure to the contrib libraries you can use the configure option '--with-default-path'. The default value of this option is 'OpenMS/contrib/' so you can move the contrib package there to make OpenMS find it automatically.

Installing OpenMS

If you have not installed the libraries which OpenMS requires, please refer to the section Installing required dependency libraries above. Otherwise you might only get parts of the full OpenMS functionality.
Assuming you have successfully installed the dependent libraries, you need to get the OpenMS source code. The latest stable version of OpenMS can be found in the files section. For further (e.g. latest developer version from SVN) info see the download instructions.

After you got the source code go to the source directory by opening an MSYS console and type in the following commands (... see 'configure --help' and below for more options during ./configure)

> cd <path_to_OpenMS>/source
> ./configure --with-default-path=<path_to_CONTRIB> --with-qt=<path_to_QT²>
> make
> make install
		
This should do the job.

The most important configure options are:

--prefix=DIR    the path where the library is installed.
Note: Moving the library after installing it is not possible! Please use this option to point configure to the location OpenMS should be installed to.
--with-default-path=DIR    use default path DIR/include for header files and DIR/lib for libraries (../contrib if unset)
--with-qt=QTDIR Qt is installed in QTDIR.
--with-compiler=CXX use CXX as C++ compiler

Note:
If ./configure is not executable on your system, you should execute autoconf before the above commands.

If ./configure fails, a file called config.diag.tar is created. Please send this file together with a description of the problem by email.

Add <path_to_OpenMS>/lib/ (e.g. c:/Programs/OpenMS/lib/) to the Windows Path Environment variable (as suggested by the previous make) and remember to open a new MSYS console in order for the change to take effect.

Testing your OpenMS installation

After you have installed OpenMS, you can test your installation by executing the following command:

> cd <path_to_OpenMS>/source/
> make test
		

Building the TOPP tools

TOPP is a toolset for the analysis of HPLC/MS data. It consists of several small applications that can be chained to create analysis pipelines tailored for a specific problem.

After you have built OpenMS, you can build the TOPP tools with the following command:

> cd <path_to_OpenMS>/source/
> make TOPP
		
Now the TOPP tools are ready to use in <path_to_OpenMS>/bin/.

Optionally you can add <path_to_OpenMS>/bin (e.g. c:/programs/OpenMS/bin/) to the Windows Path Environment (to call TOPP tools from any directory).


Testing the TOPP tools

After you have built the TOPP tools, you can test them with the following command:

> cd <path_to_OpenMS>/source/
> make TOPPtest
		

Building the documentation

In order to build the class documentation, TOPP tutorials and more, you will need to install three programs:

  1. Doxygen (1.5.4)
  2. MikTeX (2.6) - basic version (for DVIPS, LATEX etc).
  3. GPL Ghostscript (8.60) for Windows
  4. restart MSYS in order for the Windows Path Environment changes to take effect
  5. in MSYS do:
    > cd <path_to_OpenMS>/doc
    > make doc
    			

Enabling database support

OpenMS accesses databases via QT. This instruction is based on QT 4.3.2. Other versions might differ. We try to install a MySQL driver (installing other db-drivers should work accordingly).

The open-source version of QT (which is precompiled on windows) does not come with an enabled MySQL driver, so you'll need to recompile QT.

Before that however, you'll need to build the MySQL-driver itself.

  1. Download MySQLServer4.1 and install it.

  2. Download "reimp" (see http://www.mingw.org/mingwfaq.shtml) and install 'reimp.exe' into c:/Msys/bin

  3. Now open a command shell (not an MSYS shell!) via 'START->Run: cmd.exe' and do:
    > cd C:/Program Files/MySQL/MySQL Server 4.1/lib/opt
    > c:/Msys/bin/reimp.exe -d libmysql.lib
    Now create a static lib:
    > c:/mingw/bin/dlltool -k --input-def libmysql.def --dllname libmysql.dll --output-lib libmysql.a
    Close the cmd.exe window.

  4. Download mingw32-make from MinGW.org's Sourceforce homepage. and install 'mingw32-make.exe' to c:/mingw/bin

  5. Open an MSYS-shell and do: (if your path to MySQLServer contains whitespaces, use the 8.3 DOS names or copy the files to a directory without whitespaces, e.g. /c/PROGRA~1/MySQL/MYSQLS~1.1):
    > cd <path_to_QT>
    > configure -L <path_to_MYSQLSERVER>/lib/opt -l libmysql -I <path_to_MYSQLSERVER>/include -qt-sql-mysql -qt-sql-odbc -qt-sql-sqlite -qt-gif -qt-libpng -qt-libjpeg
    > mingw32-make
    and wait ...

  6. now build OpenMS
    > cd <path_to_OpenMS>/source
    > make lib install

  7. Now, create a database by opening the mysql command line client (from the start menu) and enter your root password.
    Now type:
    mysql> CREATE DATABASE OPENMS_TEST_DB;
    you should see something like:
    Query OK, 1 row affected (0.14 sec)

To test if the DB is accessible by OpenMS, copy <path_to_OpenMS>/source/TEST/DB_credentials_template.txt to DB_credentials.txt and fill in the connection details into this file. As long as this file remains there, the test DBAdapter_test will be executed with any subsequent call of 'make test'. To test the two TOPP tools that enable DB communication, go to the '<path_to_OpenMS>/source/TEST/TOPP/' directory and copy the files 'DBImporter_input_template.ini' and 'DBExporter_input_template.ini' to 'DBImporter_input.ini' and 'DBExporter_input.ini', respectively. Then fill in your DB access details. As long as these files remain there, the DB will be tested with any subsequent call of 'make TOPPtest'.


Generated Tue Apr 1 15:36:40 2008 -- using doxygen 1.5.4 OpenMS / TOPP 1.1