= Software and tools = === Prerequisites for Compiling and Running GiBUU === * Supported operating systems: * Linux (primary platform, used by most developers) * Windows (via Cygwin), cf. [wiki:windows GiBUU on Windows] * Mac OS X, cf. [wiki:mac GiBUU on Mac] * other Unix-like systems may also work, but are untested * Supported compilers: * [https://software.intel.com/en-us/fortran-compilers Intel Fortran Compiler] (version 12+) * [http://gcc.gnu.org GCC/gfortran] (version 4.6+) * [http://www.oracle.com/technetwork/server-storage/developerstudio sunf95] (Oracle Developer Studio 12.5) * [http://www.pgroup.com/ PGI] (version 15.10+) * [https://github.com/flang-compiler/flang LLVM/flang] <= flang-7 * Unsupported compilers: * [http://www.g95.org/ g95] 0.93 fails to compile !EventOutputFile.f90 (missing support for type-bound procedures) * [http://www.absoft.com Absoft] v11.1.3 fails to compile bzip.f90 * [http://www.nag.co.uk/nagware/np.asp NAG] v6.1 currently fails to compile Pythia and Jetset (with double precision) * [http://www.lahey.com/linux64.htm Lahey] v8.1 is not supported due to missing Fortran 2003 features (GET_ENVIRONMENT_VARIABLE, ISO_C_BINDING, ...) * flang-11+ (i.e. the f18 compiler, relabled again as 'flang') * The Build process is steered via [http://www.gnu.org/software/make/ GNU make].[[BR]] * Automated Makefile dependencies are generated via one of the following methods: * a Perl script (provided that [http://www.perl.org/ Perl] is installed) * [http://personal.inet.fi/private/erikedelmann/makedepf90/ makedepf90] * The code is managed and distributed through the [http://subversion.apache.org/ Subversion] version control system. * External libraries: (see below) * [http://www.bzip.org/ libbzip2] * [http://lhapdf.hepforge.org/lhapdf5/ libLHAPDF v5] ''(optional)'' * [http://www.gnu.org/software/gsl/manual/html_node/index.html GSL] (via [http://www.lrz.de/services/software/mathematik/gsl/fortran/ FGSL]) ''(optional)'' * [https://root.cern.ch/ ROOT] (via [https://roottuple.hepforge.org/ RootTuple]) ''(optional)'' === Libraries used in GiBUU === The code uses some external libraries, which are used in the usual compile and linking procedure. * [http://www.bzip.org/ libbzip2] [[BR]] used for reading compressed input files. For details see [wiki:bzip2 this page]. * [http://lhapdf.hepforge.org/lhapdf5/ libLHAPDF v5] (optional) [[BR]] This is optional in connection with Pythia. For details see [wiki:LHAPDF this page]. In addition, some libraries are used by (partly) including the source code into the GiBUU source code tree. * '''Numerical libraries''' [[BR]] * [http://cernlib.web.cern.ch/cernlib/ CERNLIB] * [http://people.scs.fsu.edu/~burkardt/f_src/quadpack/quadpack.html QUADPACK] * [http://www.gnu.org/software/gsl/manual/html_node/index.html GSL] via [http://www.lrz.de/services/software/mathematik/gsl/fortran/ FGSL] ''(optional, only needed for some testing progams)'' (source not included) * '''Physics libraries''' [[BR]] * [http://projects.hepforge.org/pythia6 Pythia v6] * [http://www.kph.uni-mainz.de/MAID/ MAID] * '''ROOT''' [[BR]] * [https://roottuple.hepforge.org/ RootTuple] is used as Fortran interface to a given ROOT installation to produce event output (optional) [[BR]]For details see [wiki:libRootTuple this page]. === Optional Tools === * '''GUI Tools''' [[BR]] [http://zoneit.free.fr/esvn/ eSvn], [http://tortoisesvn.tigris.org/ tortoise SVN], [http://www.eclipse.org/ eclipse]. * '''Documentation'''[[br]] [http://rfsber.home.xs4all.nl/Robo/index.html ROBODoc] is used for generating automatic [//Documentation/ code documentation].[[br]] Note: An enhanced version with some bugfixes is available on [https://github.com/janusw/ROBODoc GitHub]. * '''Visualization Tools:''' [[BR]] * [http://www.povray.org/ POV-Ray] * [http://qt.nokia.com/ Qt]