Differences between revisions 11 and 13 (spanning 2 versions)
Revision 11 as of 2007-02-09 20:14:33
Size: 5098
Comment:
Revision 13 as of 2007-02-11 10:22:12
Size: 5154
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
== Installing Fox on Linux ==
Line 10: Line 11:
== Installing the required graphics libraries == === Installing the required graphics libraries ===
Line 22: Line 23:
=== General Instructions (if your distribution is not listed below) === ==== General Instructions (if your distribution is not listed below) ====
Line 27: Line 28:
=== Mandrake & Mandriva === ==== Mandrake & Mandriva ====
Line 29: Line 30:
==== Mandriva 10.2 (2006) ==== ===== Mandriva 10.2 (2006) =====
Line 34: Line 35:
=== Fedora === ==== Fedora ====
Line 37: Line 38:
==== Fedora Core 3 & 4 ==== ===== Fedora Core 3 & 4 =====
Line 42: Line 43:
=== Ubuntu === ==== Ubuntu ====
Line 46: Line 47:
=== SuSE === ==== SuSE ====
Line 49: Line 50:
==== SuSE 9.3 ==== ===== SuSE 9.3 =====
Line 53: Line 54:
== Get, compile & install Fox == === Get, compile & install Fox ===
Line 69: Line 70:
== Compiling an optimized version of Fox == === Compiling an optimized version of Fox ===
Line 71: Line 72:
=== Compile options ===
 The first set of optimizations can be activated by using processor-specific optimizations. If you edit the ```Fox/ObjCryst/rules.mak``` file, and search for the dpart where the ```CPPFLAGS``` are defined:
==== Compile options ====
 The first set of optimizations can be activated by using processor-specific optimizations. If you edit the ```Fox/ObjCryst/rules.mak``` file, and search for the part where the ```CPPFLAGS``` are defined:
Line 78: Line 79:
=== Profile driven optimizations === ==== Profile driven optimizations ====

Installing Fox on Linux

Compiling F.O.X. under Linux is normally easy (it is developped using Mandriva Linux). The source code for Fox now includes the [http://wxwidgets.org wxWidgets] and [http://freeglut.sf.net freeglut] libraries, so dependencies should be minimal. As always, send me an email at vincefn@users.sf.net if you have any trouble with the installation.

Steps:

  • [#lib Install the required graphical libraries]

  • [#fox Get, compile & install Fox]

  • [#optimize Compile an optimized version of Fox]

Installing the required graphics libraries

Anchor(lib) Below are specific instructions to install the required graphics libaries for the following distributions :

  • [#mdk Mandriva]BR

  • [#fedora Fedora]BR

  • [#ubuntu Ubuntu]BR

  • [#suse Suse]BR

Please add or correct the instructions for your distribution...

If your distribution is not listed, just follow the [#general general building instructions]. Anchor(general)

General Instructions (if your distribution is not listed below)

To install F.O.X. under Linux:

  • You will need valid libraries and development files for OpenGL. You may require a specific library for your card (NVidia,...), the Xfree-devel or libxorg-devel, and the gtk-devel (or gtk+-devel or gtk2-devel...) packages. For all major distributions, these packages are included either in the default install or as an additionnal package.

Mandrake & Mandriva

Anchor(mdk)

Mandriva 10.2 (2006)
  • The required packages (just urpmi followed by tha package names - you need the main and contrib rpm repositories) are :

    • Development packages: gcc gcc-c++ gcc-cpp gfortran

    • Graphics development packages : libxorg-x11-devel, libgtk+1.2-devel, libMesaglut3-devel 

Fedora

Anchor(fedora) This is partially a guess since I do not have this distribution, so feel free to correct these

Fedora Core 3 & 4
  • Development packages: gcc gcc-c++ gcc-g77

  • Graphics development package : xorg-x11-devel, gtk+-devel

Anchor(ubuntu)

Ubuntu

  • Development packages: gcc g++ gcc-g77

  • Graphics development package : libgl1-mesa-dev, libglu1-mesa-dev, libgtk1.2-dev

SuSE

Anchor(suse) This is partially a guess since I do not have this distribution, so feel free to correct these

SuSE 9.3
  • Development packages: gcc gcc-c++ gcc-g77

  • Graphics development package : xorg-x11-devel, gtk-devel (or gtk2-devel)

Get, compile & install Fox

Anchor(fox) Get the Fox.tar.bz2 from [http://sourceforge.net/project/showfiles.php?group_id=27546&release_id=203604 SourceForge], [ftp://ftp.ccp14.ac.uk/ccp14/ftp-mirror/objcryst/ CCP14(UK)], [http://ccp14.sims.nrc.ca/ccp/ccp14/ftp-mirror/objcryst/ CCP14(Canada)] or [http://ccp14.semo.edu/ccp/ccp14/ftp-mirror/objcryst/ CCP14(USA)]

Then compile and install Fox (replace VERSION by your version of Fox):

  tar -xjf Fox-VERSION.tar.bz2
  cd Fox-VERSION
  make
  make install (for this last step you must be root).

Fox will be installed in /usr/local/bin/Fox. Otherwise the compiled file is in the src/Fox subdirectory.

  • Note: if during the early stages of the compilation (when freeglut is compiled), you get an error message about libGL.la, this can mean that libGL.la is not in the same directory as other x11 libraries. On my computer, where libGL.la is provided by the nVidia installer, I needed to do "ln -s /usr/lib/libGL.la /usr/X11R6/lib/".

Compiling an optimized version of Fox

Anchor(optimize)

Compile options

  • The first set of optimizations can be activated by using processor-specific optimizations. If you edit the Fox/ObjCryst/rules.mak file, and search for the part where the CPPFLAGS are defined:

    CPPFLAGS = -O3 -w -ffast-math -fstrict-aliasing -pipe -fomit-frame-pointer -funroll-loops

    Auto-vectorization: starting with gcc 4.0.0, it is possible to automatically vectorize some loops: append -ftree-vectorize to the CPPFLAGS options to do that (see the examples commented out in the rules.mak file).

Profile driven optimizations

Fox can be further optimized by making "test runs" which are used to give hints to the compiler on how to best optimize the code. To do this you (i) compile Fox by enabling the "recording" of the optimization, then (ii) you run a few optimizations, then (iii) you recompile using the recorded profile. This requires gcc version 3.2 or above.To do that from the Fox directory, do:

make clean
make Fox profile=2
src/Fox --nogui example/pbso4-joint.xml --randomize -n 50000 -o /dev/null
src/Fox --nogui example/Cimetidine-powder.xml --randomize -n 50000 -o /dev/null
src/Fox --speedtest
make clean
make Fox profile=3
make install

This yields about 10% faster code.

None: Install/Linux (last edited 2011-06-19 14:29:43 by VincentFavreNicolin)