= WHIZARD Installation instructions = Back to the [http://projects.hepforge.org/whizard/trac/wiki main page.] Here we collect informations about the WHIZARD installation procedure. Most of this can be found as well in the [source:tags/release_2.0.2/INSTALL INSTALL file] as well as in the [http://projects.hepforge.org/whizard/manual.pdf manual.] We review here the installation of the tarball of the latest version of WHIZARD 2. Technical details about the installation of the development version from the SVN trunk can be found in the [http://projects.hepforge.org/whizard/manual.pdf manual.] The philosophy of WHIZARD 2 is that the program is installed centrally in a computer, e.g. in a directory {{{/usr/local/}}}, where all the binaries, libraries and necessary files are located, while the users run the program in workspaces in their home directories. (Working in batch mode can be handled, too.) The following describes a system installation, but of course a user can install WHIZARD also in his/her home directory. === Prerequisites === The general prerequisites for the installation are standard tools for software development like {{{make}}} etc., and two different compilers, a Fortran 2003 for the WHIZARD core and its corresponding libraries as well as the O'Caml compiler for the O'Mega matrix element generator. Please note that versions of WHIZARD / O'Mega up to 2.0.2 are incompatible with O'Caml versions 3.12.0+. Details and links for the compilers can be found [http://projects.hepforge.org/whizard/compilers.html here.] === Configuration === After you downloaded the most recent tarball from the main page, unpack it, go to the WHIZARD directory, create a new {{{build}}} directory and go there. In that directory, perform a {{{../configure FC= --prefix=/usr/local}}}. Note that this is because the source and compile directories should be different to avoid any problems during compilation and installation. {{{../configure --help}}} shows you the options for the configure process you have. The {{{FC}}} environment variable allows you to specify your FORTRAN compiler of choice. Note that WHIZARD 2 has been written in Fortran 2003 in a fully object-oriented way. We highly recommend usage of the standard {{{gfortran}}} compiler from version 4.5.0 on. You can access the help menu of configure by {{{../configure --help}}}. {{{./configure -V}}} shows you the actual version of your downloaded WHIZARD distribution. The possible environment variables are: {{{ CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor FC Fortran compiler command FCFLAGS Fortran compiler flags F77 Fortran77 compiler command FFLAGS Fortran77 compiler flags CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor }}} For most of these there is no need to be set during installation. The configure process checks for the build and host system type; only if this is not detected automatically, the user would have to specify this by himself. After that system-dependent files are searched for, LaTeX and Acroread for documentation and plots, the FORTRAN compiler is checked, and finally the O'Caml compiler. The next step is the checks for external programs like {{{LHAPDF}}} and {{{HepMC}}}. Finally, all the Makefiles are being built. Note that parts of the WHIZARD do contain good old {{{Fortran77}}} code, e.g. the PYTHIA bundle for showering and hadronization. These parts should better be compiled with the very same {{{Fortran2003}}} compiler as the WHIZARD core. There is, however, one subtlety: when the {{{configure}}} flag {{{FC}}} gets a full system path as argument, {{{libtool}}} is not able to recognize this as a valid (GNU) {{{Fortran77}}} compiler. It then searches automatically for binaries like {{{f77}}}, {{{g77}}} etc. or a standard system compiler. This might result in a compilation failure of the {{{Fortran77}}}. A viable solution is to define an executable link and use this (not the full path!) as {{{FC}}} flag. === Compilation and Installation === The compilation is done by invoking {{{make}}} and finally {{{make install}}}. You could also do a {{{make check}}} in order to test whether the compilation has produced sane files on your system. This is highly recommended, but need to be done only for the first installation. Be aware that there be problems for the installation if the install path or a user's home directory is part of an AFS file system. Several times problems were encountered connected with conflicts with permissions inside the OS permission environment variables and the AFS permission flags which triggered errors during the {{{make install}}} procedure. Also please avoid using {{{make -j}}} options of parallel execution of {{{Makefile}}} directives as AFS filesystems might not be fast enough to cope with this. Back to the [http://projects.hepforge.org/whizard/trac/wiki main page.]