Differences between revisions 258 and 523 (spanning 265 versions)
Revision 258 as of 2010-02-19 10:40:41
Size: 146732
Editor: MarcinDulak
Comment:
Revision 523 as of 2015-07-02 11:28:20
Size: 86086
Comment: http://theory.cm.utexas.edu/vtsttools/download.html
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
This page describes the necessary steps to build RPM software packages on the login nodes **fjorm** or **thul**. This page below describes:

- configuration of the `fys` yum repository,

-
the necessary steps to build RPM software packages on a custom RPM-based (currently el, fc) system and the login nodes **fjorm** or **thul**.
Line 16: Line 21:
Configure external repositories
===============================

As root:

- create yum repository definitions (do **not** enable them)::

   # atrpms
   echo '[atrpms]' > /etc/yum.repos.d/atrpms.repo
   echo 'name=CentOS $releasever - $basearch - ATrpms' >> /etc/yum.repos.d/atrpms.repo
   echo 'baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable' >> /etc/yum.repos.d/atrpms.repo
   echo '#baseurl=http://mirrors.ircam.fr/pub/atrpms/el$releasever-$basearch/atrpms/stable' >> /etc/yum.repos.d/atrpms.repo
   echo 'gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms' >> /etc/yum.repos.d/atrpms.repo
   echo 'gpgcheck=1' >> /etc/yum.repos.d/atrpms.repo
   echo 'enabled=0' >> /etc/yum.repos.d/atrpms.repo
   # epel
   echo '[epel]' > /etc/yum.repos.d/epel.repo
   echo 'name=CentOS $releasever - $basearch - EPEL' >> /etc/yum.repos.d/epel.repo
   echo 'baseurl=http://download.fedora.redhat.com/pub/epel/$releasever/$basearch' >> /etc/yum.repos.d/epel.repo
   echo 'gpgkey=http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL' >> /etc/yum.repos.d/epel.repo
   echo 'gpgcheck=1' >> /etc/yum.repos.d/epel.repo
   echo 'enabled=0' >> /etc/yum.repos.d/epel.repo
Configure fys yum repository
============================

We host a yum repository, which contains RPM packages of our software for the following systems: el (RedHat Enterprise Linux, or CentOS), fc (Fedora),
openSUSE (openSUSE):

- configure `fys` yum repository::

    yum -y install yum-utils wget
    cd /etc/yum.repos.d
    wget --no-check-certificate https://svn.fysik.dtu.dk/projects/rpmbuild/trunk/SOURCES/fys_el.repo

  **Note** on a RedHat system the value of $releasever in the `fys_el.repo` file need to be edited manually (changed for example into 5Client, 5Server, etc).

  **Note** on RedHat 6 or clone systems (Scientific Linux, CentOS) the value of $releasever in the `fys_el.repo` file may need to be edited manually (set explicitly to 6).

  **Note** on a Fedora system download `fys_fc.repo` instead, and use `fys_fc` identifier in the command below.
  Moreover on a fc system you do not need to include any external repositories.

  **Note** on an openSUSE system download `fys_openSUSE.repo` instead and save it under `/etc/zypp/repos.d`, and use `fys_openSUSE` identifier in the command below.
  You need to include additional external openSUSE repositories: see
  `configure external repositories <https://wiki.fysik.dtu.dk/niflheim/Cluster_software_-_RPMS#configure-external-repos>`_

- list all packages available in the `fys` yum repository, maybe you need some of them?::

    yum list available --disablerepo=* --enablerepo=fys_el

  **Note**: on el `configure external repositories <https://wiki.fysik.dtu.dk/niflheim/Cluster_software_-_RPMS#configure-external-repos>`_
  as installation of most packages requires enabling `epel` or `atrpms` repositories::

    yum -y install --enablerepo=fys_el,epel,atrpms campos-dacapo
  
  **Note**: most of the `fys` packages are relocatable with the default prefix of `/usr`.
  As an example one installs campos-dacapo into the `/opt/campos-dacapo-2.7.16` prefix as follows::

    mkdir fys && cd fys # fys directory stores downloaded RPMS
    yumdownloader --resolve --enablerepo=fys_el,epel,atrpms campos-dacapo-2.7.16
    mkdir tmp && mv campos-dacapo-2.7.16* tmp
    yum -y localinstall *
    rpm -ivh --relocate "/usr"="/opt/campos-dacapo-2.7.16" tmp/campos-dacapo-*
    mv tmp/campos-dacapo-* . && rmdir tmp

  Have a look at the `/opt/campos-dacapo-2.7.16/share/campos-dacapo/\*.\*sh`
  to see what environment variables need to be set in case of an installation
  into a non-default prefix. There is also a template modulefile
  `/opt/campos-dacapo-2.7.16/share/campos-dacapo/campos-dacapo-2.7.16\*`
  that contains \`prereq\`ired modules (modulefiles surely are different on your system).

  On systems where you don't have root access you can consider downloading RPMS individually and extracting
  the contents of the RPMS, for example::

    mkdir ~/fys && cd ~/fys
    rpm2cpio http://packages/pub/linux/fys/el/5/x86_64/campos-dacapo-pseudopotentials-1-2.el5.fys.noarch.rpm | cpio -idmv

Configure external repos
========================

On openSUSE, as root:

- enable the packman repository as described at http://opensuse-community.org/Repositories/Packman

- add `multimedia:/photo` repository, e.g. for opensuse-11.2::

     zypper addrepo --repo http://download.opensuse.org/repositories/multimedia:/photo/openSUSE_11.2/multimedia:photo.repo # python-sphinx is there!!!

On RedHat Enterprise Linux or CentOS, as root:

- create yum repository definitions (do **not** enable them):

 - `ATrpms <http://atrpms.net/>`_:

   - official way: follow `ATrpms installation instructions <http://atrpms.net/install.html>`_ and edit `/etc/yum.repos.d/atrpms.repo`
     so it contains::

       enabled=0

   - fast way::

       echo '[atrpms]' > /etc/yum.repos.d/atrpms.repo
       echo 'name=CentOS $releasever - $basearch - ATrpms' >> /etc/yum.repos.d/atrpms.repo
       echo 'baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable' >> /etc/yum.repos.d/atrpms.repo
       echo '#baseurl=http://mirrors.ircam.fr/pub/atrpms/el$releasever-$basearch/atrpms/stable' >> /etc/yum.repos.d/atrpms.repo
       echo 'gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms' >> /etc/yum.repos.d/atrpms.repo
       echo 'gpgcheck=1' >> /etc/yum.repos.d/atrpms.repo
       echo 'enabled=0' >> /etc/yum.repos.d/atrpms.repo

 - `EPEL <http://fedoraproject.org/wiki/EPEL>`_:

   - official way: follow `EPEL/FAQ/howtouse <http://fedoraproject.org/wiki/EPEL/FAQ#howtouse>`_ and edit `/etc/yum.repos.d/epel.repo`
     so it contains::

       enabled=0

   - fast way::
   
       echo '[epel]' > /etc/yum.repos.d/epel.repo
       echo 'name=CentOS $releasever - $basearch - EPEL' >> /etc/yum.repos.d/epel.repo
       echo 'baseurl=http://download.fedora.redhat.com/pub/epel/$releasever/$basearch' >> /etc/yum.repos.d/epel.repo
       echo 'gpgkey=http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL' >> /etc/yum.repos.d/epel.repo
       echo 'gpgcheck=1' >> /etc/yum.repos.d/epel.repo
       echo 'enabled=0' >> /etc/yum.repos.d/epel.repo
Line 46: Line 130:
Line 49: Line 134:
- configure rpmbuild (as rpmbuild):

  - on Niflheim:

    - enable modules - add to `~/.bashrc`::

       if [ -r "/home/camp/modulefiles.sh" ]; then
           source /home/camp/modulefiles.sh
       fi

    - set the `FYS_PLATFORM` variable::
- create and retrieve the `rpmbuild` project (as **rpmbuild** user)::

    cd
    svn co https://svn.fysik.dtu.dk/projects/rpmbuild/trunk ~/rpmbuild

- include the rpmbuild environment configuration script in `~/.bashrc`:

 - copy the script::

     cp ~/rpmbuild/SOURCES/.bashrc_rpmbuild ~/

   **Note**: if installing on a system different than el5 edit the `rpm_platform` and `egg_info` variables.

 - and add the following to `~/.bashrc`::

     if [ -r "${HOME}/.bashrc_rpmbuild" ]; then
         . ${HOME}/.bashrc_rpmbuild
     fi

   **Note** on Niflheim the variables::
Line 64: Line 158:
      **Note** that this variable will be set automatically by `/home/camp/modulefiles.sh` after
      the `environment-modules` package is installed.

  - on a custom system:

    - create directory::

       mkdir -p /scratch/$USER

    - set the `FYS_PLATFORM` variable::

       export FYS_PLATFORM=el5
       export FYS_NETWORK=ETH

      also in `~/.bashrc`.

- set the following variables for convenience (set it in `~/.bashrc`)::

   if [ -r "/home/camp/modulefiles.sh" ]; then
       source /home/camp/modulefiles.sh
   else
       export FYS_PLATFORM=el5
       export FYS_NETWORK=ETH
   fi
   export rpm_platform=el5
   export python_version=`python -c "from distutils.sysconfig import get_python_version; print get_python_version()"`
   export rpmtopdir=${HOME}/${FYS_PLATFORM} # set this to _topdir value from ~/.rpmmacros
   export disttag="${rpm_platform}.fys"
   export modules=1
   if [ "$modules" == "1" ];
    then
       modules_usage="--with modules"
   else
       # /etc/profile.d scripts are used
       modules_usage="--without modules"
   fi

   export PATH=${HOME}/rpmbuild/SOURCES/fys_install_scripts:${PATH}

   export disttag_network="${rpm_platform}.fys"
   # for infiniband nodes define
   #export disttag_network="${rpm_platform}.IB.fys"

- logout and login (as rpmbuild) again to the settings from `~/.bashrc`.
   will be set automatically by `/home/camp/modulefiles.sh`
   if the `environment-modules` package is installed.

- create temporary directory::

   mkdir -p /scratch/$USER

- apply settings from `~/.bashrc` by::

   . ~/.bashrc
Line 111: Line 171:
     %disttag %(echo $disttag)
     # for Niflheim's infiniband nodes define also:
     %disttag_network %(echo $disttag_network)

     %_topdir %(echo $HOME)/%(echo $FYS_PLATFORM)
     %_rpmdir %{_topdir}/RPMS
     %_srcrpmdir %{_topdir}/SRPMS
     %_svndir %(echo $HOME)/rpmbuild
     %_specdir %{_svndir}/SPECS
     %_sourcedir %{_svndir}/SOURCES
     %_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
     %_builddir /scratch/%(echo $USER)
     %_tmppath %{_topdir}/BUILD

     # no debuginfo
     %debug_package %{nil}

     # don't strip (this does not fully work)
     # https://bugzilla.redhat.com/show_bug.cgi?id=219731
     %define __strip /bin/true

     # comment out the remaining lines if not on Niflheim
     %niflheim 1

     %packager rpmbuild@fysik.dtu.dk
     %distribution Fysik RPMS
     %vendor Fysik RPMS <rpm@fysik.dtu.dk>

     %_signature gpg
     %_gpg_path ~/.gnupg
     %_gpg_name Fysik RPMS

- create and retrieve the `rpmbuild` project (as **rpmbuild** user)::

    cd
    svn co https://svn.fysik.dtu.dk/projects/rpmbuild/branches/campos_installer rpmbuild

- as rpmbuild create directories::
    cp ~/rpmbuild/SOURCES/.rpmmacros ~/

- create directories::
Line 160: Line 185:
   yumdownloader --resolve binutils-devel glib-devel libstdc++-devel
   yumdownloader --resolve gcc-gfortran blas-devel lapack-devel python-devel
   # packages from other distributions
   yumdownloader --resolve texlive-latex emacs-auctex tex-preview # Fedora
   yast -i Modules texlive-latex emacs-auctex # openSUSE
   yast -i python-gtk python-xml python-lxml # openSUSE
   yast -i python-matplotlib python-numpy # openSUSE
   yast -i gcc-fortran gcc44-fortran libgfortran44 # openSUSE-11.2
   yast -i openmpi-devel blas lapack # openSUSE
   # el5 packages
   yumdownloader --resolve emacs binutils-devel glib-devel libstdc++-devel
   yumdownloader --resolve gcc-gfortran blas-devel lapack-devel python-devel python-sphinx
Line 166: Line 199:

   yumdownloader --resolve gcc43-c++ gcc43-gfortran
   yumdownloader --resolve compat-libstdc++-33 # for mathematica
   yumdownloader --resolve MySQL-python # for CMR
   yumdownloader --resolve perl-XML-SAX # for exciting
   yumdownloader --resolve ImageMagick # for ASE3

   yumdownloader --resolve gcc43-c++ gcc43-gfortran # only on EL5 == 5.2
Line 193: Line 230:
   exclude=netcdf-* netcdf3-* fftw-* fftw2-* fftw3-* python-numeric openmpi-* libgfortran4* gcc4* libstdc++4* libgomp-*    exclude=netcdf-* netcdf3-* fftw-* fftw2-* fftw3-* python-numeric openmpi-* libgfortran4* gcc4* libstdc++4* libgomp-* ScientificPython-*
Line 204: Line 241:
Install (on the login and computes nodes) `Install Open64 Compiler Suite <http://www.open64.net/>`_ RPM, and deploy module file under ` ~rpmbuild/modulefiles/${FYS_PLATFORM}/open64`. Install (on the login and computes nodes) `Install Open64 Compiler Suite <http://www.open64.net/>`_ RPM (available under `~rpmbuild/${FYS_PLATFORM}/RPMS/external/prefix`),
and deploy module file under ` ~rpmbuild/modulefiles/${FYS_PLATFORM}/
open64`.
Line 219: Line 257:
Install (on the login and computes nodes) `g95 <http://www.g95.org/>`_ RPM, and deploy module file under ` ~rpmbuild/modulefiles/${FYS_PLATFORM}/g95`. Install (on the login and computes nodes) `g95 <http://www.g95.org/>`_ RPM (available under `~rpmbuild/${FYS_PLATFORM}/RPMS/external/prefix`),
and deploy module file under ` ~rpmbuild/modulefiles/${FYS_PLATFORM}/
g95`.
Line 233: Line 272:
Install icc/ifort compilers (only on the login nodes, packages available under `/home/data/Intel` with restricted access), install (using ``rpm -ivh``) only the following packages from `l_cproc_p_11.1.046_intel64`::

 intel-cproc046-11.1-1.x86_64.rpm
 intel-cproidb046-11.1-1.x86_64.rpm
 intel-cprolib046-11.1-1.x86_64.rpm
 intel-cprolibdev046-11.1-1.x86_64.rpm
 intel-cprotbblib046-11.1-1.noarch.rpm
 intel-cprotbblibdev046-11.1-1.noarch.rpm
 intel-cprocsdk046-11.1-1.noarch.rpm
 intel-cproidbsdk046-11.1-1.noarch.rpm

and from `l_cprof_p_11.1.046_intel64`::

 intel-cprof046-11.1-1.x86_64.rpm
 intel-cproflib046-11.1-1.x86_64.rpm
 intel-cprofsdk046-11.1-1.noarch.rpm

, enable them (only on **thul**)::

 . /opt/intel/Compiler/11.1/046/bin/intel64/ifortvars_intel64.sh
 . /opt/intel/Compiler/11.1/046/bin/intel64/iccvars_intel64.sh

Build intel compatibility packages (only on **thul**)::

  cd ~/rpmbuild/SPECS
  rpmbuild -bb ${modules_usage} intel-redist.spec
**Note**: to enable new intell products upgrading of licenses may be necessary, see
http://software.intel.com/en-us/articles/workaround-non-upgraded-serial-numbers-disappear-from-the-intel-registration-center-irc-list/

**Note**: intel changes packaging quite often, here are the installation instructions for the **12.0** compilers:

- install RPMS (**only** on the login node) found in `l_ccompxe_2011.1.107` manually (using ``rpm -ivh``)::

    intel-{compilerpro,idb,idbcdt,ipp,sourcechecker,tbb}*noarch* # exclude intel-compilerpro-common if installed already by mkl
    intel-{compilerpro,idb,ipp,sourcechecker}*x86_64*

  and from `l_fcompxe_2011.1.107`::

    intel-compilerprof*{noarch,x86_64}*

- create a link (only on **thul**)::

    mkdir -p /opt/intel/Compiler/2011.1
    cd /opt/intel/Compiler/2011.1 && ln -s /opt/intel/composerxe-2011.1.107 107

- build intel compatibility packages (only on **thul**)::

    cd ~/rpmbuild/SPECS
    rpmbuild -bb ${modules_usage} --with major_version=2011 --with version1=1 --with version2=107 intel-redist.spec
Line 266: Line 302:
  cp /scratch/rpmbuild/intel-11.1.046/11.1.046-1.intel64.${disttag} ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort   cp /scratch/rpmbuild/intel-2011.1.107/2011.1.107-1.intel64${disttag} ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
Line 268: Line 304:
  ln -s 11.1.046-1.intel64.${disttag} 11.1-1   ln -s 2011.1.107-1.intel64${disttag} 12.0-1

**Note**: modify the file so it contains at least::

  setenv INTEL_LICENSE_FILE /opt/intel/licenses

  # generated by intel-redist.spec and installed on compute nodes
  prepend-path LD_LIBRARY_PATH /opt/intel/Compiler/2011.1/107/lib/intel64
  # original locations from intel
  prepend-path LD_LIBRARY_PATH /opt/intel/composerxe-2011.1.107/compiler/lib/intel64
  prepend-path LD_LIBRARY_PATH /opt/intel/composerxe-2011.1.107/debugger/lib/intel64
  prepend-path PATH /opt/intel/composerxe-2011.1.107/bin/intel64
  prepend-path MANPATH :
  prepend-path MANPATH /opt/intel/composerxe-2011.1.107/man
  # ipp
  prepend-path PATH /opt/intel/composerxe-2011.1.107/ipp/bin/intel64
  prepend-path LD_LIBRARY_PATH /opt/intel/composerxe-2011.1.107/ipp/lib/intel64
  # sourcechecker
  prepend-path PATH /opt/intel/composerxe-2011.1.107/bin/sourcechecker/bin/intel64
  prepend-path LD_LIBRARY_PATH /opt/intel/composerxe-2011.1.107/bin/sourcechecker/lib/intel64


**Note**: intel changes packaging quite often, here are the installation instructions for the **11.1** compilers:

- install RPMS (**only** on the login node) found in `l_cproc_p_11.1.046_intel64` manually (using ``rpm -ivh``)::

    intel-cproc046-11.1-1.x86_64.rpm
    intel-cproidb046-11.1-1.x86_64.rpm
    intel-cprolib046-11.1-1.x86_64.rpm
    intel-cprolibdev046-11.1-1.x86_64.rpm
    intel-cprotbblib046-11.1-1.noarch.rpm
    intel-cprotbblibdev046-11.1-1.noarch.rpm
    intel-cprocsdk046-11.1-1.noarch.rpm
    intel-cproidbsdk046-11.1-1.noarch.rpm

  and from `l_cprof_p_11.1.046_intel64`::

    intel-cprof046-11.1-1.x86_64.rpm
    intel-cproflib046-11.1-1.x86_64.rpm
    intel-cprofsdk046-11.1-1.noarch.rpm

- enable them (only on **thul**)::

    . /opt/intel/Compiler/11.1/046/bin/intel64/ifortvars_intel64.sh
    . /opt/intel/Compiler/11.1/046/bin/intel64/iccvars_intel64.sh

- build intel compatibility packages as rpmbuild (only on **thul**)::

    cd ~/rpmbuild/SPECS
    rpmbuild -bb ${modules_usage} intel-redist.spec

**Note**: do not install the RPMS generated in the last step on the login node. They need to be installed **only** on compute nodes.
On the login node only the module file needs to be deployed under `~rpmbuild/modulefiles`, as rpmbuild.
Note that this directory is available as svn checkout at https://svn.fysik.dtu.dk/projects/modulefiles/trunk.
Here is what need to be done for a new version of the package::

  mkdir ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
  cp /scratch/rpmbuild/intel-11.1.046/11.1.046-1.intel64${disttag} ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
  cd ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
  ln -s 11.1.046-1.intel64${disttag} 11.1-1 # version < 12
  ln -s 2011.1.107-1.intel64${disttag} 2011.1.107-1
Line 280: Line 376:
- install RPMS (on the login and computes nodes) found in `l_cc_p_10.1.015_intel64.tar.gz` and `l_fc_p_10.1.015_intel64.tar.gz` manually (using ``rpm -ivh``):: - install RPMS (on the login and compute nodes) found in `l_cc_p_10.1.015_intel64.tar.gz` and `l_fc_p_10.1.015_intel64.tar.gz` manually (using ``rpm -ivh``)::
Line 308: Line 404:
- provide the module file `~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort/10.1.015-1.intel64.${disttag}`:: - provide the module file `~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort/10.1.015-1.intel64${disttag}`::
Line 324: Line 420:
    ln -s 10.1.015-1.intel64.${disttag} 10.1-1     ln -s 10.1.015-1.intel64${disttag} 10.1-1

**Moreover**: `intel-*intel64*` RPMS need to be installed with *--nodeps*, so move them into a special directory::

  mkdir -p ~/${FYS_PLATFORM}/RPMS/nodeps
  mv ~/${FYS_PLATFORM}/RPMS/intel-*intel64* ~/${FYS_PLATFORM}/RPMS/nodeps
Line 329: Line 430:
Install mkl, and build mkl compatibility package (only on **thul**)::
Install mkl RPMS `intel-mkl-*`, `intel-openmp-*`, `intel-compilerpro-*` (`intel-mkl`, `intel-mkllibdev`, `intel-mkllib` for mkl version < 10.3), and build mkl compatibility package (only on **thul**)::

  # for mkl 10.3, as root
  cd /opt/intel/mkl # packaging of mkl changes again so link is necessary
  ln -s ../composerxe-2011.3.174/mkl/ 10.3.3.174
  ln -s /opt/intel/composerxe-2011.3.174/man 10.3.3.174/man
  # as rpmbuild
Line 332: Line 438:
  export mkl=10.1.3.027   export mkl=10.3.3.174
Line 335: Line 441:
  cp -rp /opt/intel/mkl/${mkl}/doc ${mkl}   cp -rpf /opt/intel/mkl/${mkl}/doc ${mkl} # for mkl < 10.3
  cp -rpf /opt/intel/composerxe-2011.3.174/compiler/lib ${mkl} # for mkl >= 10.3
Line 338: Line 445:
  cd ~/rpmbuild/SPECS   cd ~/rpmbuild/SPECS # as rpmbuild
  rpmbuild -bb --with version1=3 --with version2=3 --with version3=174 ${modules_usage} --with platform=intel64 intel-redist-mkl.spec
  # **Warning**: mkl < 10.3 uses em64t
Line 347: Line 456:
  cp /tmp/intel-mkl-${mkl}/${mkl}-1.${disttag}.em64t ~rpmbuild/modulefiles/${FYS_PLATFORM}/mkl   cp /tmp/intel-mkl-${mkl}/${mkl}-1${disttag}.em64t ~rpmbuild/modulefiles/${FYS_PLATFORM}/mkl
Line 349: Line 458:
  ln -s ${mkl}-1.${disttag}.em64t 10.1p-027   ln -s ${mkl}-1${disttag}.em64t 10.1p-027
Line 354: Line 463:

**Moreover**: `intel-*intel64*` RPMS need to be installed with *--nodeps*, so move them into a special directory::

  mkdir -p ~/${FYS_PLATFORM}/RPMS/nodeps
  mv ~/${FYS_PLATFORM}/RPMS/intel-*intel64* ~/${FYS_PLATFORM}/RPMS/nodeps
Line 371: Line 475:
Unfortunately, from 10.3 version mkl depends on intel libraries located in directories outside of mkl.
This causes troubles for numpy which requires (is there a way to fix that?) all non-standard libraries to be located in one directory.
Therefore one may need to create a link (currently not performed)::

  cd /opt/intel/mkl/10.3.4.191/lib/intel64
  ln -s /opt/intel/composerxe-2011.4.191/compiler/lib/intel64/libiomp5.so .
Line 376: Line 487:
  # openmpi-1.4.3
  wget http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.3.tar.bz2 \
       -O ~/rpmbuild/SOURCES/openmpi-1.4.3.tar.bz2
  module load open64/4.2.4-0
  sh ./buildrpm-1.4.3-1.open64.4.2.4.sh ../SOURCES/openmpi-1.4.3.tar.bz2 2>&1 | tee buildrpm-1.4.3-1.open64.4.2.4.sh.log.${FYS_PLATFORM}
  module unload open64/4.2.4-0
  module load ifort/12.0-4
  sh ./buildrpm-1.4.3-1.ifort.12.0.4.sh ../SOURCES/openmpi-1.4.3.tar.bz2 2>&1 | tee buildrpm-1.4.3-1.ifort.12.0.4.sh.log.${FYS_PLATFORM} # thul only
  module unload ifort/12.0-4

  # openmpi-1.3.3
Line 381: Line 503:
  sh ./buildrpm-1.3.3-1.ifort.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.ifort.sh.log.${FYS_PLATFORM} # thul only   sh ./buildrpm-1.3.3-1.ifort.11.0.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.ifort.11.0.sh.log.${FYS_PLATFORM} # thul only
  sh ./buildrpm-1.3.3-1.ifort.11.1.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.ifort.11.1.sh.log.${FYS_PLATFORM} # thul only
Line 385: Line 508:
  module load open64 # 24 June 2009: build fails on Nehalem with *configure: error: TM support requested but not found. Aborting*
  sh ./buildrpm-1.3.3-1.open64.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.open64.sh.log.${FYS_PLATFORM}
  module unload open64
  module load open64/4.2.1-0 # 24 June 2009: build fails on Nehalem with *configure: error: TM support requested but not found. Aborting*
  sh ./buildrpm-1.3.3-1.open64.4.2.1.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.open64.4.2.1.sh.log.${FYS_PLATFORM}
  module unload open64/4.2.1-0
  module load open64/4.2.3-0 # 24 June 2009: build fails on Nehalem with *configure: error: TM support requested but not found. Aborting*
  sh ./buildrpm-1.3.3-1.open64.4.2.3.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.open64.4.2.3.sh.log.${FYS_PLATFORM}
  module unload open64/4.2.3-0
Line 391: Line 517:
  rpm -ivh --nodeps --oldpackage ~rpmbuild/${FYS_PLATFORM}/RPMS/openmpi-1.3.3-1.${disttag}.ifort.11.1.x86_64.rpm

If scripts that contain **ALL** build/install/uninstall commands (``global_install.sh`` and ``global_uninstall.sh``) need to be created,
every time after an RPM is successfully built, do::

    grep -v "#\!" install.sh >> ~/${FYS_PLATFORM}/global_install.sh
    cat uninstall.sh ~/${FYS_PLATFORM}/global_uninstall.sh | grep -v "#\!" >> ~/${FYS_PLATFORM}/global_uninstall.sh.tmp && mv -f ~/${FYS_PLATFORM}/global_uninstall.sh.tmp ~/${FYS_PLATFORM}/global_uninstall.sh
    # ignore "cat: .../global_uninstall.sh: No such ..." error when running first time

**Note** that `global_uninstall.sh` won't remove built RPM files, just will uninstall the packages.
  rpm -ivh --nodeps --oldpackage ~rpmbuild/${FYS_PLATFORM}/RPMS/openmpi-1.3.3-1${disttag}.ifort.11.1.x86_64.rpm
Line 405: Line 522:
  **Note** this package is **not** relocatable!
Line 410: Line 529:
    major_version=4
    thread_mode=nomp

    version1=0
    version2=1
    compiler=gfortran


    rpmbuild -bb --with compiler=${compiler} \
                 --with major_version=${major_version} --with version1=${version1} --with version2=${version2} \
                 --with thread_mode=${thread_mode} ${modules_usage} --with default_version acml.spec

    version1=0
    version2=1
    compiler=pathscale

    !rpmbuild # as rpmbuild above

    version1=1
    version2=0
    compiler=gfortran43 # fjorm only

    !rpmbuild # as rpmbuild above

    version1=1
    version2=0
    compiler=pathscale

    !rpmbuild # as rpmbuild above

    version1=2
    version2=0
    compiler=gfortran43

    !rpmbuild # as rpmbuild above

    version1=2
    version2=0
    compiler=pathscale

    !rpmbuild # as rpmbuild above

    version1=2
    version2=0
    compiler=ifort # thul only

    !rpmbuild # as rpmbuild above

    version1=3
    version2=0
    compiler=gfortran43

    !rpmbuild # as rpmbuild above

    version1=3
    version2=0
    compiler=open64 # fjorm only

    !rpmbuild # as rpmbuild above

    version1=3
    version2=0
    compiler=ifort # thul only

    !rpmbuild # as rpmbuild above

    thread_mode=mp

    version1=3
    version2=0
    compiler=open64 # fjorm only

    !rpmbuild # as rpmbuild above
    . fys.set.Niflheim.gfortran.4.1.2.sh
    . fys.set.blas.acml.4.0.1.sh

    . fys.build.acml.sh
    #
    . fys.set.Niflheim.pathscale.3.2.sh
    . fys.set.blas.acml.4.0.1.sh

    . fys.build.acml.sh
    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.blas.acml.4.3.0.sh

    . fys.build.acml.sh
    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.blas.acml.4.3.0_mp.sh

    . fys.build.acml.sh

    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.blas.acml.4.4.0.sh

    . fys.build.acml.sh

    #
    . fys.set.Niflheim.ifort.11.0.sh
    . fys.set.blas.acml.4.4.0.sh

    . fys.build.acml.sh
    #
    . fys.set.Niflheim.open64.4.2.3.sh
    . fys.set.blas.acml.4.4.0.sh

    . fys.build.acml.sh

Line 518: Line 602:
  `GotoBLAS <http://www.tacc.utexas.edu/resources/software/#blas>`_ contains optimized BLAS libraries,
  and is available for academic community after registration. Does not work in Intel Nehalem
.

  Download **GotoBLAS-1.26.tar.gz** to ~/rpmbuild/SOURCES.
  `GotoBLAS <http://www.tacc.utexas.edu/tacc-projects/gotoblas2/>`_ contains optimized BLAS libraries.

  Download **GotoBLAS-1.26.tar.gz** (**Warning** outdated release of GotoBLAS is no longer available) and **GotoBLAS2-1.13_bsd.tar.gz** (supports Nehalem) to ~/rpmbuild/SOURCES.
Line 525: Line 608:
  Build RPMS (on the **target** compute node!) using the following command::

  On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh

    (rpm_prefix=/usr && . fys.build.goto2.sh)

  On Niflheim build RPMS (on the **target** compute node!) using the following command::

    . fys.set.Niflheim.gfortran.4.1.2.sh

    . fys.build.goto2.sh

    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh

    . fys.build.goto2.sh

    #
    . fys.set.Niflheim.open64.4.2.3.sh

    . fys.build.goto2.sh

    #
    . fys.set.Niflheim.open64.4.2.4.sh

    . fys.build.goto2.sh

    # older version of goto
    #
Line 528: Line 639:

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin

    rpmbuild --bb --with compiler=${compiler} --with compiler_version=${compiler_version} \
                  --with compiler_libdir=${compiler_libdir} --with compiler_bindir=${compiler_bindir} \
                  ${modules_usage} --with default_version=1 \
                  --with prefix=/opt/goto/${blas_version}/1.${disttag}.${compiler}.${compiler_version}.smp goto.spec

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin

    !rpmbuild # as rpmbuild above

    compiler=pathscale
    compiler_version=3.2
    compiler_libdir=/opt/pathscale/lib/3.2
    compiler_bindir=/opt/pathscale/bin

    !rpmbuild # as rpmbuild above

    compiler=open64 # only on fjorm
    compiler_version=4.2.1
    compiler_libdir=/opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1
    compiler_bindir=/opt/open64/4.2.1/bin

    !rpmbuild # as rpmbuild above
    . fys.set.Niflheim.gfortran.4.1.2.sh

    . fys.build.goto.sh

    #
    blas_version=1.26
    . fys.set.Niflheim.gfortran43.4.3.2.sh

    . fys.build.goto.sh

    #
    blas_version=1.26
    . fys.set.Niflheim.pathscale.3.2.sh

    . fys.build.goto.sh
    #
    blas_version=1.26
    . fys.set.Niflheim.open64.4.2.1.sh

    . fys.build.goto.sh
    #
    blas_version=1.26
    . fys.set.Niflheim.open64.4.2.3.sh

    . fys.build.goto.sh
Line 567: Line 672:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://downloads.sourceforge.net/project/math-atlas/Stable/3.8.3/atlas3.8.3.tar.bz2
    cd ~/rpmbuild/SPECS
  **Note** this package is **not** relocatable!

  On a custom system build the following RPMS::
Line 573: Line 677:

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin

    rpmbuild --bb --with compiler=${compiler} --with compiler_version=${compiler_version} \
                  --with compiler_libdir=${compiler_libdir} --with compiler_bindir=${compiler_bindir} \
                  ${modules_usage} --with default_version=1 \
                  --with system=${rpm_platform} \
                  --with prefix=/opt/atlas/${blas_version}/1.${disttag}.${compiler}.${compiler_version} atlas.spec

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin

    !rpmbuild # as rpmbuild above
    . fys.set.gfortran.default.sh
    (rpm_prefix=/usr/local/atlas && default_version_usage="--with default_version" && . fys.build.atlas.sh)

  On Niflheim build the following RPMS::

    blas_version=3.8.3
    . fys.set.Niflheim.gfortran.4.1.2.sh

    . fys.build.atlas.sh

    #
    blas_version=3.8.3
    . fys.set.Niflheim.gfortran43.4.3.2.sh

    . fys.build.atlas.sh
Line 605: Line 706:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://downloads.sourceforge.net/openrasmol/RasMol_2.7.3.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version --with system=${rpm_platform} \
                 --with prefix=/opt/RasMol/2.7.3/3.${disttag} RasMol.spec
  On a custom system build the following RPMS::

     (rpm_prefix=/usr && . fys.build.RasMol.2.7.3.sh)

  On Niflheim build the following RPMS::

     . fys.build.RasMol.2.7.3.sh
Line 618: Line 719:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://www.netlib.org/blas/blast-forum/cblas.tgz
    cd ~/rpmbuild/SPECS

    compiler=gfortran
    compiler_version=4.1.2
    blas=blas
    blas_version=3.0.37.el5
    blasdir=/usr/lib64

    rpmbuild --bb --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   ${modules_usage} --with default_version=1 \
                   --with prefix=/opt/cblas/2.23.3/1.${disttag}.${compiler}.${compiler_version}.${blas}.${blas_version} cblas.spec

    compiler=gfortran
    compiler_version=4.1.2
    blas=acml
    blas_version=4.0.1
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib

    !rpmbuild # as rpmbuild above
  On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh
    . fys.set.blas.default.sh

    (rpm_prefix=/usr && . fys.build.cblas.sh)

  On Niflheim build the following RPMS::

     . fys.set.Niflheim.gfortran.4.1.2.sh
     . fys.set.blas.acml.4.0.1.sh

     . fys.build.cblas.sh
Line 645: Line 736:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c9.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version --with system=${rpm_platform} \
                 --with python_version=${python_version} \
                 --with prefix=/opt/python-setuptools/0.6c9/1.${disttag}.python${python_version} python-setuptools.spec
  On a custom system build the following RPMS::

     (rpm_prefix=/usr && . fys.build.setuptools.0.6c9.sh)

  On Niflheim build the following RPMS::

    . fys.build.setuptools.0.6c9.sh

  If using modules::

    module load python-setuptools

  else, if not using the default "/usr" prefix::

    . /etc/profile.d/python-setuptools.sh
Line 657: Line 755:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://somethingaboutorange.com/mrl/projects/nose/nose-0.10.4.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version --with system=${rpm_platform} \
                 --with python_version=${python_version} \
                 --with prefix=/opt/python-nose/0.10.4/1.${disttag}.python${python_version} python-nose.spec
    module load python-setuptools
  On a custom system build the following RPMS::

     (rpm_prefix=/usr && . fys.build.nose.0.10.4.sh)

  On Niflheim build the following RPMS::

    . fys.build.nose.0.10.4.sh

  If using modules::
Line 667: Line 766:

  else, if not using the default "/usr" prefix::

    . /etc/profile.d/python-nose.sh
Line 671: Line 774:
  **Note**: Standard (unoptimized) numpy for EL4 can be found at `Scientific Linux <http://www.scientificlinux.org/>`_ (example given for i386)::

    wget ftp://ftp.scientificlinux.org/linux/scientific/4x/i386/SL/RPMS/numpy-1.0.4-1.i386.rpm
    wget --no-check-certificate https://www.scientificlinux.org/documentation/gpg/RPM-GPG-KEY-dawson
    rpm --import RPM-GPG-KEY-dawson
    yum localinstall numpy-1.0.4-1.i386.rpm

  and for EL5 at `<http://fedoraproject.org/wiki/EPEL/FAQ#howtouse>`_.

  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://downloads.sourceforge.net/project/numpy/NumPy/1.3.0/numpy-1.3.0.tar.gz
    cd ~/rpmbuild/SPECS

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.0.1
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.0.1
    lapackdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    cblas_prefix=none # dotblas fails with acml
    release=1.${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    rpmbuild --bb --with cblas_prefix=${cblas_prefix} \
                  --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                  --with compiler=${compiler} --with compiler_version=${compiler_version} \
                  --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                  --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                  ${modules_usage} --with default_version=1 \
                  --with python_version=${python_version} \
                  --with prefix=/opt/numpy/1.3.0/${release} numpy.spec

    compiler=gfortran # only on thul
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=mkl
    blas_version=10.1.3.027
    blasdir=/opt/intel/mkl/10.1.3.027/lib/em64t
    lapack=mkl_lapack
    lapack_version=10.1.3.027
    lapackdir=/opt/intel/mkl/10.1.3.027/lib/em64t
    cblas_prefix=/opt/intel/mkl/10.1.3.027
    release=1.${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=gfortran # Aug 6 2009: causes problems to gpaw cg2.py test
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=blas
    blas_version=3.0.37.el5
    blasdir=/usr/lib64
    lapack=lapack
    lapack_version=3.0.37.el5
    lapackdir=/usr/lib64
    cblas_prefix=/opt/cblas/2.23.3/1.${disttag}.${compiler}.${compiler_version}.${blas}.${blas_version}
    release=1.${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

  Test with::

    module load cblas-blas-gfortran64/2.23.3-1.el5.fys.gfortran.4.1.2.blas.3.0.37.el5
    module load numpy/1.3.0-1.el5.fys.gfortran.4.1.2.python${python_version}.blas.3.0.37.el5.lapack.3.0.37.el5
    python -c "import numpy; from numpy.core.multiarray import dot; b = numpy.ones(13, numpy.complex); dot(b, b)"
    python -c "import numpy; numpy.test()"
    module unload numpy/1.3.0-1.el5.fys.gfortran.4.1.2.python${python_version}.blas.3.0.37.el5.lapack.3.0.37.el5
     
    module load acml-gfortran64/4.0.1-1.el5.fys
    module load numpy/1.3.0-1.el5.fys.gfortran.4.1.2.python${python_version}.acml.4.0.1.acml.4.0.1
    python -c "import numpy; from numpy.core.multiarray import dot; b = numpy.ones(13, numpy.complex); dot(b, b)"
    python -c "import numpy; numpy.test()"
    module unload numpy/1.3.0-1.el5.fys.gfortran.4.1.2.python${python_version}.acml.4.0.1.acml.4.0.1
    module unload acml-gfortran64/4.0.1-1.el5.fys

  Load the default numpy::

    module load numpy/1.3.0-1.el5.fys.gfortran.4.1.2.python${python_version}.acml.4.0.1.acml.4.0.1
  On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh
    . fys.set.Niflheim.cblas.2.23.3.sh

     (rpm_prefix=/usr && . fys.build.numpy.1.3.0.sh)

  On Niflheim build the following RPMS::

     module load python-setuptools
     module load python-nose

     . fys.set.Niflheim.numpy.1.3.0.gfortran.4.1.2.acml.4.0.1.cblas.none.sh

     . fys.build.numpy.1.3.0.sh

     # only on thul
     . fys.set.Niflheim.numpy.1.3.0.gfortran.4.1.2.mkl.10.1.3.027.cblas.mkl.10.1.3.027.sh

     . fys.build.numpy.1.3.0.sh

     # building using cblas/acml causes the test below to fail
     . fys.set.Niflheim.numpy.1.3.0.gfortran.4.1.2.acml.4.0.1.cblas.2.23.3.sh

     . fys.build.numpy.1.3.0.sh

  After installing python-numeric make a very rough check:

  - is using modules::

      module load ${blas}-${compiler}64/${blas_version}-1${disttag}
      module load cblas-${blas}-${compiler}64/2.23.3-1${disttag}.${compiler}.${compiler_version}.${blas}.${blas_version}
      module load numpy/1.3.0-1${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version}
      python -c "import numpy; from numpy.core.multiarray import dot; b = numpy.ones(13, numpy.complex); dot(b, b)"
      python -c "import numpy; numpy.test()"

  - else, if not using the default "/usr" prefix::

      . /etc/profile.d/numpy.sh
Line 761: Line 821:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://downloads.sourceforge.net/gnuplot-py/gnuplot-py-1.8.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version \
                 --with python_version=${python_version} \
                 --with prefix=/opt/gnuplot-py/1.8.1/1.${disttag}.python${python_version} gnuplot-py.spec
  On a custom system build the following RPMS::

     (rpm_prefix=/usr && . fys.build.gnuplot-py.1.8.sh)

  On Niflheim build the following RPMS::

     . fys.build.gnuplot-py.1.8.sh

  If using modules::
Line 771: Line 832:

  else, if not using the default "/usr" prefix::

    . /etc/profile.d/gnuplot-py.sh
Line 779: Line 844:
  We must install **24.2** version, and we keep the default version.
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://downloads.sourceforge.net/numpy/Numeric-24.2.tar.gz
    cd ~/rpmbuild/SPECS
  We must install **24.2** version, and we keep the default version::
Line 790: Line 851:
    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=blas
    blas_version=3.0.37.el5
    blasdir=/usr/lib64
    lapack=lapack
    lapack_version=3.0.37.el5
    lapackdir=/usr/lib64
    cblas_prefix=/opt/cblas/2.23.3/1.${disttag}.${compiler}.${compiler_version}.${blas}.${blas_version}
    release=1.${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    rpmbuild --bb --with cblas_prefix=${cblas_prefix} \
                  --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                  --with compiler=${compiler} --with compiler_version=${compiler_version} \
                  --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                  --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                  ${modules_usage} --with default_version=1 \
                  --with python_version=${python_version} \
                  --with prefix=/opt/python-numeric/24.2/${release} python-numeric.spec

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.0.1
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.0.1
    lapackdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    cblas_prefix=/opt/cblas/2.23.3/1.${disttag}.${compiler}.${compiler_version}.${blas}.${blas_version}
    release=1.${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above
  On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh
    . fys.set.Niflheim.cblas.2.23.3.sh

    . fys.build.Numeric.24.2.sh

  On Niflheim build the following RPMS::

     . fys.set.Niflheim.Numeric.24.2.gfortran.4.1.2.acml.4.0.1.cblas.2.23.3.sh

     . fys.build.Numeric.24.2.sh
Line 831: Line 870:
  After installing python-numeric make a very rough check::

    module load cblas-blas-gfortran64/2.23.3-1.el5.fys.gfortran.4.1.2.blas.3.0.37.el5
    module load python-numeric/24.2-4.el5.fys.gfortran.4.1.2.python${python_version}.blas.3.0.37.el5.lapack.3.0.37.el5
    python -c "import lapack_lite"
    ldd `rpm -ql python-numeric-24.2-4.el5.fys.gfortran.4.1.2.python${python_version}.blas.3.0.37.el5.lapack.3.0.37.el5 | grep lapack_lite.so`
    ldd `rpm -ql python-numeric-24.2-4.el5.fys.gfortran.4.1.2.python${python_version}.blas.3.0.37.el5.lapack.3.0.37.el5 | grep _dotblas.so`
    module unload python-numeric/24.2-4.el5.fys.gfortran.4.1.2.python${python_version}.blas.3.0.37.el5.lapack.3.0.37.el5

    module load acml-gfortran64/4.0.1-1.el5.fys
    module load cblas-acml-gfortran64/2.23.3-1.el5.fys.gfortran.4.1.2.acml.4.0.1
    module load python-numeric/24.2-4.el5.fys.gfortran.4.1.2.python${python_version}.acml.4.0.1.acml.4.0.1
    python -c "import lapack_lite"
    ldd `rpm -ql python-numeric-24.2-4.el5.fys.gfortran.4.1.2.python${python_version}.acml.4.0.1.acml.4.0.1 | grep lapack_lite.so`
    ldd `rpm -ql python-numeric-24.2-4.el5.fys.gfortran.4.1.2.python${python_version}.acml.4.0.1.acml.4.0.1 | grep _dotblas.so`
    module unload python-numeric/24.2-4.el5.fys.gfortran.4.1.2.python${python_version}.acml.4.0.1.acml.4.0.1
    module unload acml-gfortran64/4.0.1-1.el5.fys
  After installing python-numeric make a very rough check:

  - is using modules::

      module load ${blas}-${compiler}64/${blas_version}-1${disttag}
      module load cblas-${blas}-${compiler}64/2.23.3-1${disttag}.${compiler}.${compiler_version}.${blas}.${blas_version}
      module load python-numeric/24.2-4${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version}
      python -c "import lapack_lite"
      ldd `rpm -ql python-numeric-24.2-4${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version} | grep lapack_lite.so`
      ldd `rpm -ql python-numeric-24.2-4${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version} | grep _dotblas.so`

  - else::

      . /etc/profile.d/python-numeric.sh
      python -c "import lapack_lite"
      ldd `rpm -ql python-numeric | grep lapack_lite.so`
      ldd `rpm -ql python-numeric | grep _dotblas.so`
Line 851: Line 890:
    rpm -ivh --oldpackage ~rpmbuild/${FYS_PLATFORM}/RPMS/external/python-numeric-23.*.rpm

  load the default `Numeric` version::

    module load acml-gfortran64/4.0.1-1.el5.fys
    module load cblas-acml-gfortran64/2.23.3-1.el5.fys.gfortran.4.1.2.acml.4.0.1
    module load python-numeric/24.2-4.el5.fys.gfortran.4.1.2.python${python_version}.acml.4.0.1.acml.4.0.1
    rpm -ivh --oldpackage ~/${FYS_PLATFORM}/RPMS/external/python-numeric-23.*.rpm

hdf5
----

  `HDF5 <http://www.hdfgroup.org/HDF5/>`_ is a data model, library, and file format for storing and managing data.

  We prefer version `1.8.6 <http://www.hdfgroup.org/HDF5/release/obtain5.html>`_.

  On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh

    (rpm_prefix=/usr && . fys.build.hdf5.sh)

  On Niflheim build the following RPMS::

     #
     module load open64/4.2.4-0
     . fys.set.Niflheim.open64.4.2.4.sh
     . fys.set.Niflheim.openmpi.1.4.3.sh

     . fys.build.hdf5.1.8.6.sh
     module unload open64/4.2.4-0

     # older builds
     #
     . fys.set.Niflheim.gfortran.4.1.2.sh
     . fys.set.Niflheim.openmpi.1.3.3.sh

     . fys.build.hdf5.1.8.6.sh

     #
     . fys.set.Niflheim.gfortran43.4.3.2.sh
     . fys.set.Niflheim.openmpi.1.3.3.sh

     . fys.build.hdf5.1.8.6.sh

     #
     module load open64/4.2.3-0
     . fys.set.Niflheim.open64.4.2.3.sh
     . fys.set.Niflheim.openmpi.1.3.3.sh

     . fys.build.hdf5.1.8.6.sh
     module unload open64/4.2.4-0

     # only on thul
     module load ifort/11.1-1
     . fys.set.Niflheim.ifort.11.1.sh
     . fys.set.Niflheim.openmpi.1.3.3.sh

     . fys.build.hdf5.1.8.6.sh
     module unload ifort/11.1-1
Line 869: Line 956:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.0.1.tar.gz
    cd ~/rpmbuild/SPECS

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin

    rpmbuild --bb --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} \
                   --with compiler_libdir=${compiler_libdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/netcdf4/4.0.1/1.${disttag}.${compiler}.${compiler_version} netcdf4.spec

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin

    !rpmbuild # as rpmbuild above

    compiler=pathscale # only on fjorm
    compiler_version=3.2
    compiler_libdir=/opt/pathscale/lib/3.2
    compiler_bindir=/opt/pathscale/bin

    !rpmbuild # as rpmbuild above

    compiler=ifort # only on thul
    compiler_version=11.0
    compiler_libdir=/opt/intel/Compiler/11.0/083/lib/intel64
    compiler_bindir=/opt/intel/Compiler/11.0/083/bin/intel64

    !rpmbuild # as rpmbuild above

    compiler=open64 # only on fjorm
    compiler_version=4.2.1
    compiler_libdir=/opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1
    compiler_bindir=/opt/open64/4.2.1/bin

    !rpmbuild # as rpmbuild above

ScientificPython
----------------
  On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh

    (rpm_prefix=/usr && . fys.build.netcdf4.4.0.1.sh)

  On Niflheim build the following RPMS::

     #
     . fys.set.Niflheim.open64.4.2.4.sh
     . fys.set.Niflheim.netcdf4.4.1.2.sh

     . fys.build.netcdf4.4.1.2.sh

    # older builds
    #
     . fys.set.Niflheim.gfortran.4.1.2.sh
     . fys.set.Niflheim.netcdf4.4.0.1.sh

     . fys.build.netcdf4.4.0.1.sh

     #
     . fys.set.Niflheim.gfortran43.4.3.2.sh
     . fys.set.Niflheim.netcdf4.4.0.1.sh

     . fys.build.netcdf4.4.0.1.sh

     # only on fjorm
     . fys.set.Niflheim.pathscale.3.2.sh
     . fys.set.Niflheim.netcdf4.4.0.1.sh

     . fys.build.netcdf4.4.0.1.sh

     # only on thul
     . fys.set.Niflheim.ifort.11.0.sh
     . fys.set.Niflheim.netcdf4.4.0.1.sh

     . fys.build.netcdf4.4.0.1.sh

     # only on fjorm
     . fys.set.Niflheim.open64.4.2.1.sh
     . fys.set.Niflheim.netcdf4.4.0.1.sh

     . fys.build.netcdf4.4.0.1.sh

     #
     . fys.set.Niflheim.open64.4.2.3.sh
     . fys.set.Niflheim.netcdf4.4.0.1.sh

     . fys.build.netcdf4.4.0.1.sh
     # only on thul
     . fys.set.Niflheim.ifort.11.1.sh
     . fys.set.Niflheim.netcdf4.4.0.1.sh

     . fys.build.netcdf4.4.0.1.sh

etsf_io
-------

  `ETSF_IO <http://www.etsf.eu/resources/software/libraries_and_tools>`_
   A library of F90 routines to read/write the ETSF file format has been written.
   It is called ETSF_IO and available under LGPL.

  On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh
    . fys.set.netcdf.default.sh
    . fys.set.hdf5.default.sh

    (. fys.build.etsf_io.sh)

  On Niflheim build the following RPMS::

     #
     . fys.set.Niflheim.gfortran43.4.3.2.sh
     . fys.set.Niflheim.netcdf4.4.0.1.sh
     hdf=none

     . fys.build.etsf_io.sh

     # Oct 4 2010: fatal error: gfc_todo: Not Implemented: complex character array constructors
     . fys.set.Niflheim.gfortran.4.1.2.sh
     . fys.set.Niflheim.netcdf4.4.0.1.sh
     hdf=none

     . fys.build.etsf_io.sh

     # Oct 04 2010: tests/group_level failed
     . fys.set.Niflheim.open64.4.2.3.sh
     . fys.set.Niflheim.netcdf4.4.0.1.sh
     hdf=none

     . fys.build.etsf_io.sh

     # Apr 18 2010: tests/group_level failed
     . fys.set.Niflheim.open64.4.2.4.sh
     . fys.set.Niflheim.netcdf4.4.1.2.sh
     hdf=none

     . fys.build.etsf_io.sh

ScientificPython 2.6.2
----------------------
Line 918: Line 1061:

  Here is how to build the default version to be found in fys yum repository::

    compiler=gfortran
    compiler_version=`rpm -q --queryformat='%{RPMTAG_VERSION}\n' libgfortran | head -1`
    dir=`rpm -ql libgfortran | grep "libgfortran\.so" | head -1`
    compiler_libdir=`dirname ${dir}`
    dir=`which gfortran`
    compiler_bindir=`dirname ${dir}`
    netcdf=netcdf
    dir=`rpm -ql ${netcdf}-devel | grep "netcdf\.h" | head -1`
    netcdf_includedir=`dirname ${dir}`
    dir=`rpm -ql ${netcdf} | grep "libnetcdf\.so\.4" | head -1`
    netcdf_libdir=`dirname ${dir}`

    !rpmbuild # as the first rpmbuild below

  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget https://sourcesup.cru.fr/frs/download.php/2234/ScientificPython-2.6.2.tar.gz
    cd ~/rpmbuild/SOURCES&& wget https://sourcesup.cru.fr/frs/download.php/2234/ScientificPython-2.8.tar.gz
    cd ~/rpmbuild/SPECS

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin

    rpmbuild --bb --with Numeric_includedir=none --with numpy=numpy \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with netcdf=${netcdf} --with netcdf_includedir=${netcdf_includedir} --with netcdf_libdir=${netcdf_libdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with python_version=${python_version} \
                   --with prefix=/opt/ScientificPython/2.8/1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.serial_version.only.numpy ScientificPython.spec

    rpmbuild --bb --with numpy=numeric \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with netcdf=${netcdf} --with netcdf_includedir=${netcdf_includedir} --with netcdf_libdir=${netcdf_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with python_version=${python_version} \
                   --with prefix=/opt/ScientificPython/2.6.2/1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.openmpi.${openmpi_version}.numeric ScientificPython.spec
  **Note** that versions 2.6.2 and >= 2.8 are mutually exclusive if installed in the default "/usr" prefix.

  On a custom system build the following RPMS::

    . fys.set.ScientificPython.2.6.2.default.sh

    (rpm_prefix=/usr && . fys.build.ScientificPython.sh)

  On Niflheim build the following RPMS::

    . fys.set.Niflheim.ScientificPython.2.6.2.gfortran.4.1.2.openmpi.1.3.3.numeric.sh

    . fys.build.ScientificPython.sh

ScientificPython 2.8 or later
-----------------------------

  **Note** that versions 2.6.2 and >= 2.8 are mutually exclusive if installed in the default "/usr" prefix.

  Required by `campos-ase3`_.

  On a custom system build the following RPMS::

    . fys.set.ScientificPython.2.8.default.sh

    (rpm_prefix=/usr && . fys.build.ScientificPython.sh)

  On Niflheim build the following RPMS::

    . fys.set.Niflheim.ScientificPython.2.8.gfortran.4.1.2.serial_version.only.numpy.sh

    . fys.build.ScientificPython.sh
Line 974: Line 1097:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://downloads.sourceforge.net/project/docutils/docutils/0.5/docutils-0.5.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version \
                 --with python_version=${python_version} \
                 --with prefix=/opt/python-docutils/0.5/1.${disttag}.python${python_version} python-docutils.spec
 On a custom system build the following RPMS::

    (rpm_prefix=/usr && . fys.build.docutils.0.5.sh)

 On Niflheim build the following RPMS::

    . fys.build.docutils.0.5.sh

 If using modules::

    module load python-docutils

 else, if not using the default "/usr" prefix::

    . /etc/profile.d/python-docutils.sh
Line 986: Line 1116:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://pypi.python.org/packages/source/p/pytz/pytz-2008g.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version \
                 --with python_version=${python_version} \
                 --with prefix=/opt/pytz/2008g/1.${disttag}.python${python_version} pytz.spec
 On a custom system build the following RPMS::

    (rpm_prefix=/usr && . fys.build.pytz.2008g.sh)

 On Niflheim build the following RPMS::

    . fys.build.pytz.2008g.sh

 If using modules::

    module load pytz

 else, if not using the default "/usr" prefix::

    . /etc/profile.d/pytz.sh
Line 998: Line 1135:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-1.4.1.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version \
                 --with python_version=${python_version} \
                 --with prefix=/opt/python-dateutil/1.4.1/3.${disttag}.python${python_version} python-dateutil.spec
 On a custom system build the following RPMS::

    (rpm_prefix=/usr && . fys.build.python-dateutil.1.4.1.sh)

 On Niflheim build the following RPMS::

    . fys.build.python-dateutil.1.4.1.sh

 If using modules::

    module load python-dateutil

 else, if not using the default "/usr" prefix::

    . /etc/profile.d/python-dateutil.sh
Line 1010: Line 1154:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-0.99.1/matplotlib-0.99.1.2.tar.gz
    mv ~/rpmbuild/SOURCES/matplotlib-0.99.1.2.tar.gz ~/rpmbuild/SOURCES/matplotlib-0.99.1.1.tar.gz # naming inconsistent
    cd ~/rpmbuild/SPECS

    module load acml-gfortran64/4.0.1-1.el5.fys
    module load python-setuptools
    module load python-nose
    module load numpy/1.3.0-1.el5.fys.gfortran.4.1.2.python${python_version}.acml.4.0.1.acml.4.0.1
 On a custom system build the following RPMS::

    (rpm_prefix=/usr && . fys.build.python-matplotlib.sh)

 On Niflheim build the following RPMS::

    module load NUMPY
    module load python-docutils
Line 1021: Line 1163:
    module load python-docutils
Line 1023: Line 1164:
    rpmbuild -bb ${modules_usage} --with default_version --with system=${rpm_platform} \
                 --with python_version=${python_version} \
                 --with prefix=/opt/python-matplotlib/0.99.1.1/1.${disttag}.python${python_version} python-matplotlib.spec

    . fys.build.python-matplotlib.1.0.1.sh
Line 1030: Line 1170:
  **Required by campos-ase2**.

  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget --no-check-certificate \
    "https://wiki.fysik.dtu.dk/ase2/Download?action=AttachFile&do=get&target=campos-ase-2.3.13.tar.gz" \
    -O campos-ase-2.3.13.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version --with system=${rpm_platform} \
                 --with python_version=${python_version} \
                 --with prefix=/opt/campos-ase2/2.3.13/1.${disttag}.python${python_version} campos-ase2.spec
 On a custom system build the following RPMS::

    (rpm_prefix=/usr && . fys.build.ase2.2.3.13.sh)

 On Niflheim build the following RPMS::

    . fys.build.ase2.2.3.13.sh
Line 1048: Line 1183:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://www.fftw.org/fftw-2.1.5.tar.gz
    cd ~/rpmbuild/SPECS

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin

    rpmbuild --bb --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} \
                   --with compiler_libdir=${compiler_libdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/fftw2/2.1.5/12.${disttag}.${compiler}.${compiler_version} fftw2.spec

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin

    !rpmbuild # as rpmbuild above

    compiler=pathscale # only on fjorm
    compiler_version=3.2
    compiler_libdir=/opt/pathscale/lib/3.2
    compiler_bindir=/opt/pathscale/bin

    !rpmbuild # as rpmbuild above
  On a custom system build the following RPMS::

    . fys.set.fftw2.default.sh

    (rpm_prefix=/usr && . fys.build.fftw2.2.1.5.sh)

  On Niflheim build the following RPMS::

    . fys.set.Niflheim.gfortran.4.1.2.sh

    . fys.build.fftw2.2.1.5.sh

    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh

    . fys.build.fftw2.2.1.5.sh

    #
    . fys.set.Niflheim.pathscale.3.2.sh

    . fys.build.fftw2.2.1.5.sh

    # only on fjorm
    . fys.set.Niflheim.open64.4.2.1.sh

    . fys.build.fftw2.2.1.5.sh

    #
    . fys.set.Niflheim.open64.4.2.3.sh

    . fys.build.fftw2.2.1.5.sh

    #
    . fys.set.Niflheim.open64.4.2.4.sh

    . fys.build.fftw2.2.1.5.sh
Line 1080: Line 1221:
    compiler=ifort # only on thul
    compiler_version=11.0
    compiler_libdir=/opt/intel/Compiler/11.0/083/lib/intel64
    compiler_bindir=/opt/intel/Compiler/11.0/083/bin/intel64

    !rpmbuild # as rpmbuild above

    compiler=open64 # only on fjorm
    compiler_version=4.2.1
    compiler_libdir=/opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1
    compiler_bindir=/opt/open64/4.2.1/bin

    !rpmbuild # as rpmbuild above
    . fys.set.Niflheim.ifort.11.0.sh

    . fys.build.fftw2.2.1.5.sh
Line 1097: Line 1228:
.. _campos-dacapo-pseudopotentials-1.tar.gz: attachment:campos-dacapo-pseudopotentials-1.tar.gz

campos-dacapo-pseudopotentials-1.tar.gz_

  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget --no-check-certificate \
    "https://wiki.fysik.dtu.dk/dacapo/Installation?action=AttachFile&do=get&target=campos-dacapo-pseudopotentials-1.tar.gz" \
    -O campos-dacapo-pseudopotentials-1.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version campos-dacapo-pseudopotentials.spec
  **Note** this package is **not** relocatable! `campos-dacapo-pseudopotentials`_

.. _campos-dacapo-pseudopotentials: http://wiki.fysik.dtu.dk/dacapo-files/campos-dacapo-pseudopotentials-2.tar.gz

  On a custom system build the following RPMS::

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.dacapo-pseudopotentials.1.sh)

  On Niflheim build the following RPMS::

    . fys.build.dacapo-pseudopotentials.1.sh
Line 1115: Line 1245:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget --no-check-certificate \
    "https://wiki.fysik.dtu.dk/dacapo/Installation?action=AttachFile&do=get&target=Dacapo-0.9.4.tar.gz" \
    -O Dacapo-0.9.4.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version \
                 --with python_version=${python_version} \
                 --with prefix=/opt/campos-dacapo-python/0.9.4/1.${disttag}.python${python_version} campos-dacapo-python.spec
  On a custom system build the following RPMS::

    (rpm_prefix=/usr && . fys.build.dacapo-python.0.9.4.sh)

  On Niflheim build the following RPMS::

    . fys.build.dacapo-python.0.9.4.sh
Line 1129: Line 1256:
  Note that FC's fftw version 3 is incompatible with `dacapo`.   **Note**: fftw version 3 is incompatible with `dacapo`.
Line 1142: Line 1269:
  Here is how to build the default version to be found in fys yum repository::

    compiler=gfortran
    compiler_version=`rpm -q --queryformat='%{RPMTAG_VERSION}\n' libgfortran | head -1`
    dir=`rpm -ql libgfortran | grep "libgfortran\.so" | head -1`
    compiler_libdir=`dirname ${dir}`
    dir=`which gfortran`
    compiler_bindir=`dirname ${dir}`
    blas=blas
    blas_version=`rpm -q --queryformat='%{RPMTAG_VERSION}\n' blas | head -1 | sed 's/-/./g'`
    dir=`rpm -ql blas | grep "libblas\.so" | head -1`
    blasdir=`dirname ${dir}`
    lapack=lapack
    lapack_version=`rpm -q --queryformat='%{RPMTAG_VERSION}\n' lapack | head -1 | sed 's/-/./g'`
    dir=`rpm -ql lapack | grep "liblapack\.so" | head -1`
    lapackdir=`dirname ${dir}`
    fftw=fftw2
    dir=`rpm -ql ${fftw}-devel | grep "libfftw\.so" | head -1`
    if test -z $dir; then dir=`rpm -ql rpm -ql ${fftw}-double-devel | grep "libfftw\.so" | head -1`; fi
    fftw_libdir=`dirname ${dir}`
    netcdf=netcdf
    dir=`rpm -ql ${netcdf}-devel | grep "netcdf\.h" | head -1`
    netcdf_includedir=`dirname ${dir}`
    dir=`rpm -ql ${netcdf} | grep "libnetcdf\.so\.4" | head -1`
    netcdf_libdir=`dirname ${dir}`
    openmpi_version=`rpm -q --queryformat='%{RPMTAG_VERSION}\n' openmpi | head -1`
    dir=`rpm -ql openmpi | grep mpiexec | head -1`
    ompi_bindir=`dirname ${dir}`
    dir=`rpm -ql openmpi-devel | grep "libmpi\.so" | head -1`
    if test -z $dir; then dir=`rpm -ql openmpi | grep "libmpi\.so" | head -1`; fi
    ompi_libdir=`dirname ${dir}`
    dir=`rpm -ql openmpi-devel | grep "mpif\.h" | head -1`
    if test -z $dir; then dir=`rpm -ql openmpi | grep "mpif\.h" | head -1`; fi
    ompi_includedir=`dirname ${dir}`
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    !rpmbuild # as rpmbuild below

  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget --no-check-certificate \
    "https://wiki.fysik.dtu.dk/dacapo/Installation?action=AttachFile&do=get&target=campos-dacapo-2.7.16.tar.gz" \
    -O campos-dacapo-2.7.16.tar.gz
    cd ~/rpmbuild/SPECS
     
    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    fftw=fftw2
    fftw_libdir=/opt/${fftw}/2.1.5/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    rpmbuild --bb --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with fftw=${fftw} --with fftw_libdir=${fftw_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with netcdf=${netcdf} --with netcdf_includedir=${netcdf_includedir} --with netcdf_libdir=${netcdf_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/campos-dacapo/2.7.16/${release} campos-dacapo.spec

    compiler=open64 # only on fjorm
    compiler_version=4.2.1
    compiler_libdir=/opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1
    compiler_bindir=/opt/open64/4.2.1/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    fftw=fftw2
    fftw_libdir=/opt/${fftw}/2.1.5/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    !rpmbuild # as rpmbuild above

    compiler=pathscale # only on fjorm
    compiler_version=3.2
    compiler_libdir=/opt/pathscale/lib/3.2
    compiler_bindir=/opt/pathscale/bin
    blas=acml
    blas_version=4.0.1
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.0.1
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    fftw=fftw2
    fftw_libdir=/opt/${fftw}/2.1.5/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    !rpmbuild # as rpmbuild above

    compiler=gfortran43 # only on thul
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=mkl
    blas_version=10.1.3.027
    blasdir=/opt/intel/${blas}/${blas_version}/lib/em64t
    lapack=mkl_lapack
    lapack_version=${blas_version}
    lapackdir=${blasdir}
    fftw=mkl
    fftw_libdir=${blasdir}
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    !rpmbuild # as rpmbuild above

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=blas
    blas_version=3.0.37.el5
    blasdir=/usr/lib64
    lapack=lapack
    lapack_version=3.0.37.el5
    lapackdir=/usr/lib64
    fftw=fftw2
    fftw_libdir=/opt/${fftw}/2.1.5/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    !rpmbuild # as rpmbuild above

  Optional builds::

    compiler=ifort # only on thul # multinode jobs fail
    compiler_version=11.0
    compiler_libdir=/opt/intel/Compiler/11.0/083/lib/intel64
    compiler_bindir=/opt/intel/Compiler/11.0/083/bin/intel64
    blas=mkl
    blas_version=10.1.3.027
    blasdir=/opt/intel/${blas}/${blas_version}/lib/em64t
    lapack=mkl_lapack
    lapack_version=${blas_version}
    lapackdir=${blasdir}
    fftw=mkl
    fftw_libdir=${blasdir}
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    !rpmbuild # as rpmbuild above

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=goto
    blas_version=1.26
    blasdir=/opt/${blas}/${blas_version}/1.${disttag}.${compiler}.${compiler_version}.smp/lib64
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    fftw=fftw2
    fftw_libdir=/opt/${fftw}/2.1.5/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    !rpmbuild # as rpmbuild above

    compiler=open64 # only on fjorm
    compiler_version=4.2.1
    compiler_libdir=/opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1
    compiler_bindir=/opt/open64/4.2.1/bin
    blas=goto
    blas_version=1.26
    blasdir=/opt/${blas}/${blas_version}/1.${disttag}.${compiler}.${compiler_version}.smp/lib64
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    fftw=fftw2
    fftw_libdir=/opt/${fftw}/2.1.5/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    !rpmbuild # as rpmbuild above
  On a custom system build the following RPMS::

    . fys.set.dacapo.default.sh
    . fys.set.atlas.default.sh

    (rpm_prefix=/usr && . fys.build.dacapo.sh)

    # optional build using netlib blas/lapack
    . fys.set.dacapo.default.sh

    (rpm_prefix=/usr && . fys.build.dacapo.sh)

  On Niflheim build the following RPMS::

    #
    . fys.set.Niflheim.dacapo.2.7.16.open64.4.2.4.openmpi.1.4.3.acml.4.4.0.acml.4.4.0.fftw2.sh
    hdf=none

    . fys.build.dacapo.sh

    # older builds
    #
    . fys.set.Niflheim.dacapo.2.7.16.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.fftw2.sh

    . fys.build.dacapo.sh

    # only on fjorm
    . fys.set.Niflheim.dacapo.2.7.16.open64.4.2.1.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.fftw2.sh

    . fys.build.dacapo.sh

    # only on thul
    . fys.set.Niflheim.dacapo.2.7.16.gfortran43.4.3.2.openmpi.1.3.3.mkl.10.1.3.027.mkl.10.1.3.027.mkl.sh

    . fys.build.dacapo.sh

    # optional
    . fys.set.Niflheim.gfortran.4.1.2.sh
    . fys.set.Nilfheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.netcdf4.4.0.1.sh
    . fys.set.Niflheim.fftw2.2.1.5.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.acml.sh

    . fys.build.dacapo.sh

    # optional
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Nilfheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.netcdf4.4.0.1.sh
    . fys.set.Niflheim.fftw2.2.1.5.sh
    . fys.set.blas.acml.4.3.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto.1.26.sh
    . fys.set.lapack.acml.sh

    . fys.build.dacapo.sh

    # optional
    . fys.set.Niflheim.open64.4.2.1.sh
    . fys.set.Nilfheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.netcdf4.4.0.1.sh
    . fys.set.Niflheim.fftw2.2.1.5.sh
    . fys.set.blas.acml.4.3.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto.1.26.sh
    . fys.set.lapack.acml.sh

    . fys.build.dacapo.sh

    # optional # only on thul # multinode jobs fail
    . fys.set.Niflheim.ifort.11.0.sh
    . fys.set.Nilfheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.netcdf4.4.0.1.sh
    . fys.set.Niflheim.mkl.10.1.3.027.sh

    . fys.build.dacapo.sh
Line 1386: Line 1350:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget ftp://ftp.fftw.org/pub/fftw/fftw-3.2.1.tar.gz
    cd ~/rpmbuild/SPECS

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin

    rpmbuild --bb --with major_version=3 --with version1=2 --with version2=1 \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} \
                   --with compiler_libdir=${compiler_libdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/fftw3/3.2.1/12.${disttag}.${compiler}.${compiler_version} fftw2.spec

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin

    !rpmbuild # as rpmbuild above

- scipy

  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://downloads.sourceforge.net/project/scipy/scipy/0.7.0/scipy-0.7.0.tar.gz
    cd ~/rpmbuild/SPECS

    module load numpy/1.3.0-1.el5.fys.gfortran.4.1.2.python${python_version}.blas.3.0.37.el5.lapack.3.0.37.el5

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=blas
    blas_version=3.0.37.el5
    blasdir=/usr/lib64
    lapack=lapack
    lapack_version=3.0.37.el5
    lapackdir=/usr/lib64
    fftw=fftw3
    fftw_libdir=/opt/${fftw}/3.2.1/12.${disttag}.${compiler}.${compiler_version}/lib64
    cblas_prefix=/opt/cblas/2.23.3/1.${disttag}.${compiler}.${compiler_version}.${blas}.${blas_version}
    release=1.${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    rpmbuild --bb --with cblas_prefix=${cblas_prefix} \
                  --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                  --with compiler=${compiler} --with compiler_version=${compiler_version} \
                  --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                  --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                  --with ufsparse_libdir=/usr/lib64 --with ufsparse_includedir=/usr/include/suitesparse \
                  --with fftw=${fftw} --with fftw_libdir=${fftw_libdir} \
                  ${modules_usage} --with default_version=1 \
                  --with system=${rpm_platform} \
                  --with python_version=${python_version} \
                  --with prefix=/opt/scipy/0.7.0/${release} scipy.spec

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.0.1
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.0.1
    lapackdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    fftw=fftw3
    fftw_libdir=/opt/${fftw}/3.2.1/12.${disttag}.${compiler}.${compiler_version}/lib64
    cblas_prefix=/opt/cblas/2.23.3/1.${disttag}.${compiler}.${compiler_version}.${blas}.${blas_version}
    release=1.${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above
  On a custom system build the following RPMS::

    . fys.set.fftw3.default.sh

    (rpm_prefix=/usr && . fys.build.fftw3.3.2.1.sh)

  On Niflheim build the following RPMS::

    . fys.set.Niflheim.gfortran.4.1.2.sh

    . fys.build.fftw3.3.2.1.sh
    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh

    . fys.build.fftw3.3.2.1.sh
    #
    . fys.set.Niflheim.open64.4.2.3.sh

    . fys.build.fftw3.3.2.1.sh
    #
    . fys.set.Niflheim.open64.4.2.4.sh

    . fys.build.fftw3.3.2.1.sh
    # only on thul
    . fys.set.Niflheim.ifort.11.1.sh

    . fys.build.fftw3.3.2.1.sh

scipy
-----

 On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh
    . fys.set.Niflheim.cblas.2.23.3.sh
    . fys.set.fftw3.default.sh
    . fys.set.suitesparse.default.sh

    (rpm_prefix=/usr && . fys.build.scipy.0.7.0.sh)

 On Niflheim build the following RPMS::

    . fys.set.Niflheim.scipy.0.7.0.gfortran.4.1.2.blas.lapack.cblas.2.23.3.sh

    . fys.build.scipy.0.7.0.sh

    # optional - not tested!
    . fys.set.Niflheim.scipy.0.7.0.gfortran.4.1.2.acml.4.0.1.cblas.2.23.3.sh

    . fys.build.scipy.0.7.0.sh
Line 1467: Line 1406:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://www.povray.org/redirect/www.povray.org/ftp/pub/povray/Official/Unix/povray-3.6.tar.bz2
    mv povray-3.6.tar.bz2 povray-3.6.1.tar.bz2
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version --with prefix=/opt/povray/3.6.1/3.${disttag} povray.spec
  On a custom system build the following RPMS::

    (rpm_prefix=/usr && . fys.build.povray.sh)

  On Niflheim build the following RPMS::

    . fys.build.povray.sh

babel
-----

  On a custom system build the following RPMS::

    (rpm_prefix=/usr && . fys.build.Babel.0.9.4.sh)

  On Niflheim build the following RPMS::

    . fys.build.Babel.0.9.4.sh

  If using modules::

    module load babel

  else, if not using the default "/usr" prefix::

    . /etc/profile.d/babel.sh
Line 1478: Line 1436:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.1.1.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version \
                 --with python_version=${python_version} \
                 --with prefix=/opt/python-jinja2/2.1.1/1.${disttag}.python${python_version} python-jinja2.spec
  On a custom system build the following RPMS::

    (rpm_prefix=/usr && . fys.build.Jinja2.2.1.1.sh)

  On Niflheim build the following RPMS::

    . fys.build.Jinja2.2.1.1.sh

  If using modules::

    module load python-jinja2

  else, if not using the default "/usr" prefix::

    . /etc/profile.d/python-jinja2.sh
Line 1490: Line 1455:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://pypi.python.org/packages/source/P/Pygments/Pygments-1.0.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version \
                 --with python_version=${python_version} \
                 --with prefix=/opt/python-pygments/1.0/1.${disttag}.python${python_version} python-pygments.spec

babel
-----

  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://ftp.edgewall.com/pub/babel/Babel-0.9.4.tar.bz2
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version \
                 --with python_version=${python_version} \
                 --with prefix=/opt/babel/0.9.4/1.${disttag}.python${python_version} babel.spec
  On a custom system build the following RPMS::

    (rpm_prefix=/usr && . fys.build.Pygments.1.0.sh)

  On Niflheim build the following RPMS::

    . fys.build.Pygments.1.0.sh

  If using modules::

    module load python-pygments

  else, if not using the default "/usr" prefix::

    . /etc/profile.d/python-pygments.sh
Line 1514: Line 1474:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://pypi.python.org/packages/source/S/Sphinx/Sphinx-0.6.1.tar.gz
    cd ~/rpmbuild/SPECS

    module load python-jinja2 # if modules used
    . /etc/profile.d/python-setuptools.sh && . /etc/profile.d/python-jinja2.sh # if standard setup
    rpmbuild -bb ${modules_usage} --with default_version \
                 --with python_version=${python_version} \
                 --with prefix=/opt/python-sphinx/0.6.1/1.${disttag}.python${python_version} python-sphinx.spec
  On a custom system build the following RPMS::

    (rpm_prefix=/usr && . fys.build.Sphinx.0.6.1.sh)

  On Niflheim build the following RPMS::

    . fys.build.Sphinx.0.6.1.sh

  If using modules::

    module load python-sphinx

  else, if not using the default "/usr" prefix::

    . /etc/profile.d/python-sphinx.sh
Line 1530: Line 1495:
    cd ~/rpmbuild/SOURCES&& wget http://ftp.gnu.org/pub/gnu/auctex/auctex-11.85.tar.gz     cd ~/rpmbuild/SOURCES&& wget http://ftp.gnu.org/pub/gnu/auctex/auctex-11.86.tar.gz
Line 1538: Line 1503:
  Build the following RPMS::

    major_version=3
    version1=3
    version2=1
    version_svn=1390

    cd ~/rpmbuild/SOURCES&& wget --no-check-certificate \
    "https://wiki.fysik.dtu.dk/ase-files/python-ase-${major_version}.${version1}.${version2}.${version_svn}.tar.gz" \
    -O python-ase-${major_version}.${version1}.${version2}.${version_svn}.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb --with major_version=${major_version} --with version1=${version1} --with version2=${version2} --with version_svn=${version_svn} \
                 ${modules_usage} --with default_version --with system=${rpm_platform} \
                 --with python_version=${python_version} \
                 --with prefix=/opt/campos-ase3/${major_version}.${version1}.${version2}.${version_svn}/1.${disttag}.python${python_version} campos-ase3.spec
  On a custom system build the following RPMS::

    (rpm_prefix=/usr && . fys.build.ase3.sh)

  On Niflheim build the following RPMS::

    module load NUMPY
    . fys.build.ase3.sh
Line 1561: Line 1518:
    release=${major_version}.${version1}.${version2}.${version_svn}/1.${disttag}.python${python_version}     release=${major_version}.${version1}.${version2}.${version_svn}/1${disttag}.python${python_version}
Line 1566: Line 1523:
    rm /home/camp/rpmbuild/Intel-Nehalem-el5/RPMS/campos-ase3-${major_version}.${version1}.${version2}.${version_svn}-1.${disttag}.python${python_version}.x86_64.rpm
    dir=~/Intel-Nehalem-el5/BUILD/campos-ase3-${major_version}.${version1}.${version2}.${version_svn}-1.${disttag}.python${python_version}-root
    ln -s ${dir}/etc/modulefiles/campos-ase3/${major_version}.${version1}.${version2}.${version_svn}-1.${disttag}.python${python_version} \
    rm /home/camp/rpmbuild/Intel-Nehalem-el5/RPMS/campos-ase3-${major_version}.${version1}.${version2}.${version_svn}-1${disttag}.python${python_version}.x86_64.rpm
    dir=~/Intel-Nehalem-el5/BUILD/campos-ase3-${major_version}.${version1}.${version2}.${version_svn}-1${disttag}.python${python_version}-root
    ln -s ${dir}/etc/modulefiles/campos-ase3/${major_version}.${version1}.${version2}.${version_svn}-1${disttag}.python${python_version} \
Line 1577: Line 1534:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES
    wget http://www.netlib.org/blacs/mpiblacs.tgz
    wget http://www.netlib.org/blacs/blacstester.tgz
    cd ~/rpmbuild/SPECS

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin

    rpmbuild --bb --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version} blacs.spec

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin

    !rpmbuild # as rpmbuild above

    compiler=pathscale
    compiler_version=3.2
    compiler_libdir=/opt/pathscale/lib/3.2
    compiler_bindir=/opt/pathscale/bin
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin

    !rpmbuild # as rpmbuild above

    compiler=open64
    compiler_version=4.2.1
    compiler_libdir=/opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1
    compiler_bindir=/opt/open64/4.2.1/bin
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin

    !rpmbuild # as rpmbuild above
 On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh

    (rpm_prefix=/usr && . fys.build.blacs.sh)

 On Niflheim build the following RPMS::

    . fys.set.Niflheim.open64.4.2.4.sh
    . fys.set.Niflheim.openmpi.1.4.3.sh

    . fys.build.blacs.sh

    # older builds
    #
    . fys.set.Niflheim.gfortran.4.1.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh

    . fys.build.blacs.sh

    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh

    . fys.build.blacs.sh

    #
    . fys.set.Niflheim.pathscale.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh

    . fys.build.blacs.sh

    #
    . fys.set.Niflheim.open64.4.2.1.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh

    . fys.build.blacs.sh

    #
    . fys.set.Niflheim.open64.4.2.3.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh

    . fys.build.blacs.sh

    #
    . fys.set.Niflheim.ifort.11.0.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh

    . fys.build.blacs.sh

    #
    . fys.set.Niflheim.ifort.11.1.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh

    . fys.build.blacs.sh
Line 1639: Line 1596:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://www.netlib.org/scalapack/scalapack-1.8.0.tgz
    cd ~/rpmbuild/SPECS

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    rpmbuild --bb --with blacs=blacs --with blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64 \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/scalapack/1.8.0/${release} scalapack.spec

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=goto
    blas_version=1.26
    blasdir=/opt/${blas}/${blas_version}/1.${disttag}.${compiler}.${compiler_version}.smp/lib64
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=open64
    compiler_version=4.2.1
    compiler_libdir=/opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1
    compiler_bindir=/opt/open64/4.2.1/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=open64
    compiler_version=4.2.1
    compiler_libdir=/opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1
    compiler_bindir=/opt/open64/4.2.1/bin
    blas=goto
    blas_version=1.26
    blasdir=/opt/${blas}/${blas_version}/1.${disttag}.${compiler}.${compiler_version}.smp/lib64
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=pathscale
    compiler_version=3.2
    compiler_libdir=/opt/pathscale/lib/3.2
    compiler_bindir=/opt/pathscale/bin
    blas=acml
    blas_version=4.0.1
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.0.1
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=blas
    blas_version=3.0.37.el5
    blasdir=/usr/lib64
    lapack=lapack
    lapack_version=3.0.37.el5
    lapackdir=/usr/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=blas
    blas_version=3.0.37.el5
    blasdir=/usr/lib64
    lapack=lapack
    lapack_version=3.0.37.el5
    lapackdir=/usr/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=atlas
    blas_version=3.8.3
    blasdir=/opt/${blas}/${blas_version}/1.${disttag}.${compiler}.${compiler_version}/lib64
    lapack=atlas
    lapack_version=3.8.3
    lapackdir=/opt/${lapack}/${lapack_version}/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above
 On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh
    . fys.set.Niflheim.blacs.1.1.sh

    (rpm_prefix=/usr && . fys.build.scalapack.sh)

 On Niflheim build the following RPMS::

    #
    . fys.set.Niflheim.open64.4.2.3.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto2.1.13.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.2.0.1.sh
    #
    . fys.set.Niflheim.open64.4.2.3.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.2.0.1.sh

    # old builds
    . fys.set.Niflheim.open64.4.2.4.sh
    . fys.set.Niflheim.openmpi.1.4.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh

    #
    . fys.set.Niflheim.open64.4.2.4.sh
    . fys.set.Niflheim.openmpi.1.4.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto2.1.13.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh

    #
    . fys.set.Niflheim.gfortran.4.1.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh

    #
    . fys.set.Niflheim.gfortran.4.1.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.0.1.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh

    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh

    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh

    # old old builds
    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.3.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh

    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto2.1.13.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh
    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto.1.26.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh

    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.3.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto.1.26.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh

    #
    . fys.set.Niflheim.open64.4.2.1.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.3.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh

    # only on fjorm
    . fys.set.Niflheim.open64.4.2.3.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto.1.26.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh
    #
    . fys.set.Niflheim.open64.4.2.3.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto2.1.13.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh
    #
    . fys.set.Niflheim.open64.4.2.3.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh

    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.atlas.3.8.3.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh

    # only on thul
    . fys.set.Niflheim.ifort.11.0.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh

    # only on thul
    . fys.set.Niflheim.ifort.11.1.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh

    . fys.build.scalapack.1.8.0.sh
Line 1803: Line 1788:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget www.cs.berkeley.edu/~voemel/PDSYEVRnew.tar.gz
    cd ~/rpmbuild/SPECS

    major_version=1

    compiler=gfortran43 #
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    rpmbuild --bb --with major_version=${major_version} \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   --with blacs=${blacs} --with blacsdir=${blacsdir} \
                   --with scalapack=${scalapack} --with scalapackdir=${scalapackdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/PDSYEVRnew/${major_version}/${release} PDSYEVRnew.spec

    compiler=gfortran43 #
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=goto
    blas_version=1.26
    blasdir=/opt/${blas}/${blas_version}/1.${disttag}.${compiler}.${compiler_version}.smp/lib64
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

  On Niflheim build the following RPMS::

     . fys.set.Niflheim.gfortran43.4.3.2.sh
     . fys.set.Niflheim.openmpi.1.3.3.sh
     . fys.set.blas.acml.4.3.0.sh
     . fys.set.lapack.acml.sh
     . fys.set.Niflheim.blacs.1.1.sh
     . fys.set.Niflheim.scalapack.1.8.0.sh

     . fys.build.PDSYEVRnew.sh

     #
     . fys.set.Niflheim.gfortran43.4.3.2.sh
     . fys.set.Niflheim.openmpi.1.3.3.sh
     . fys.set.blas.acml.4.3.0.sh
     . fys.set.lapack.acml.sh
     . fys.set.Niflheim.goto.1.26.sh
     . fys.set.Niflheim.blacs.1.1.sh
     . fys.set.Niflheim.scalapack.1.8.0.sh

     . fys.build.PDSYEVRnew.sh
Line 1868: Line 1814:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget --no-check-certificate "http://wiki.fysik.dtu.dk/stuff/gpaw-setups-0.5.3574.tar.gz"
    cd ~/rpmbuild/SPECS

    rpmbuild -bb --with default_version ${modules_usage} campos-gpaw-setups.spec
  **Note** this package is **not** relocatable!

  On a custom system build the following RPMS::

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.gpaw-setups.sh)

  On Niflheim build the following RPMS::

    . fys.build.gpaw-setups.sh
Line 1878: Line 1827:
  Here is how to build the default version to be found in fys yum repository::

    compiler=gfortran
    compiler_version=`rpm -q --queryformat='%{RPMTAG_VERSION}\n' libgfortran | head -1`
    dir=`rpm -ql libgfortran | grep "libgfortran\.so" | head -1`
    compiler_libdir=`dirname ${dir}`
    dir=`which gfortran`
    compiler_bindir=`dirname ${dir}`
    blas=blas
    blas_version=`rpm -q --queryformat='%{RPMTAG_VERSION}\n' blas | head -1 | sed 's/-/./g'`
    dir=`rpm -ql blas | grep "libblas\.so" | head -1`
    blasdir=`dirname ${dir}`
    lapack=lapack
    lapack_version=`rpm -q --queryformat='%{RPMTAG_VERSION}\n' lapack | head -1 | sed 's/-/./g'`
    dir=`rpm -ql lapack | grep "liblapack\.so" | head -1`
    lapackdir=`dirname ${dir}`
    openmpi_version=`rpm -q --queryformat='%{RPMTAG_VERSION}\n' openmpi | head -1`
    dir=`rpm -ql openmpi | grep mpiexec | head -1`
    ompi_bindir=`dirname ${dir}`
    dir=`rpm -ql openmpi-devel | grep "libmpi\.so" | head -1`
    if test -z $dir; then dir=`rpm -ql openmpi | grep "libmpi\.so" | head -1`; fi
    ompi_libdir=`dirname ${dir}`
    dir=`rpm -ql openmpi-devel | grep "mpif\.h" | head -1`
    if test -z $dir; then dir=`rpm -ql openmpi | grep "mpif\.h" | head -1`; fi
    ompi_includedir=`dirname ${dir}`
    blacs=none
    scalapack=none
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.without_ase.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild below

  On Niflheim build the following RPMS::

    major_version=0
    version1=6
    version_svn=5147

    cd ~/rpmbuild/SOURCES&& wget --no-check-certificate \
    "https://wiki.fysik.dtu.dk/gpaw-files/gpaw-${major_version}.${version1}.${version_svn}.tar.gz" \
    -O gpaw-${major_version}.${version1}.${version_svn}.tar.gz
    cd ~/rpmbuild/SPECS

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.without_ase.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    rpmbuild --bb --with major_version=${major_version} --with version1=${version1} --with version_svn=${version_svn} \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   --with blacs=${blacs} --with blacsdir=${blacsdir} \
                   --with scalapack=${scalapack} --with scalapackdir=${scalapackdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with python_version=${python_version} \
                   --with prefix=/opt/campos-gpaw/${major_version}.${version1}.${version_svn}/${release} campos-gpaw.spec

    compiler=gfortran43 # only on fjorm
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=goto
    blas_version=1.26
    blasdir=/opt/${blas}/${blas_version}/1.${disttag}.${compiler}.${compiler_version}.smp/lib64
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.without_ase.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=blas
    blas_version=3.0.37.el5
    blasdir=/usr/lib64
    lapack=lapack
    lapack_version=3.0.37.el5
    lapackdir=/usr/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.without_ase.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

  **Note**: open64 compiler fails with::

   /usr/bin/ld: /opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1/libmv.a(vcos.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC
   /opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1/libmv.a: could not read symbols: Bad value
  On a custom system build the following RPMS::

    # March 3 2010: results in "orthogonalization failed" with EPEL's atlas on el5.x64_64 and i386.
    . fys.set.gpaw.default.sh
    . fys.set.atlas.default.sh

    (rpm_prefix=/usr && . fys.build.gpaw.sh)

    # optional build using netlib blas/lapack
    . fys.set.gpaw.default.sh

    (rpm_prefix=/usr && . fys.build.gpaw.sh)

  On Niflheim load first the required modules::

     module load ASE3
     module load campos-gpaw-setups

  and build the following RPMS::

    . fys.set.Niflheim.gpaw.0.6.5147.open64.4.2.3.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.sh

    . fys.build.gpaw.sh

    # older builds
    #
    . fys.set.Niflheim.gpaw.0.6.5147.open64.4.2.4.openmpi.1.4.3.goto2.1.13.acml.4.4.0.sh

    . fys.build.gpaw.sh
    #
    . fys.set.Niflheim.gpaw.0.6.5147.open64.4.2.3.openmpi.1.3.3.goto2.1.13.acml.4.4.0.sh

    . fys.build.gpaw.sh
    #
    . fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.sh

    . fys.build.gpaw.sh

    # only on fjorm
    . fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.goto.1.26.acml.4.4.0.sh

    . fys.build.gpaw.sh
Line 2005: Line 1872:
    # defaut installation using atlas - gpaw-test fails for diagonalization on el5 x86_64 18 Jan 2010
    compiler=gfortran
    compiler_version=`rpm -q --queryformat='%{RPMTAG_VERSION}\n' libgfortran | head -1`
    dir=`rpm -ql libgfortran | grep "libgfortran\.so" | head -1`
    compiler_libdir=`dirname ${dir}`
    dir=`which gfortran`
    compiler_bindir=`dirname ${dir}`
    blas=atlas
    blas_version=`rpm -q --queryformat='%{RPMTAG_VERSION}\n' atlas | head -1 | sed 's/-/./g'`
    dir=`rpm -ql atlas | grep "libatlas\.so" | head -1`
    blasdir=`dirname ${dir}`
    lapack=lapack
    lapack_version=`rpm -q --queryformat='%{RPMTAG_VERSION}\n' atlas | head -1 | sed 's/-/./g'`
    lapackdir=${blasdir}
    openmpi_version=`rpm -q --queryformat='%{RPMTAG_VERSION}\n' openmpi | head -1`
    dir=`rpm -ql openmpi | grep mpiexec | head -1`
    ompi_bindir=`dirname ${dir}`
    dir=`rpm -ql openmpi-devel | grep "libmpi\.so" | head -1`
    if test -z $dir; then dir=`rpm -ql openmpi | grep "libmpi\.so" | head -1`; fi
    ompi_libdir=`dirname ${dir}`
    dir=`rpm -ql openmpi-devel | grep "mpif\.h" | head -1`
    if test -z $dir; then dir=`rpm -ql openmpi | grep "mpif\.h" | head -1`; fi
    ompi_includedir=`dirname ${dir}`
    blacs=none
    scalapack=none
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.without_ase.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=pathscale # only on fjorm
    # note --with sl_second_underscore=1 is necessary for rpmbuild
    compiler_version=3.2
    compiler_libdir=/opt/pathscale/lib/3.2
    compiler_bindir=/opt/pathscale/bin
    blas=goto
    blas_version=1.26
    blasdir=/opt/${blas}/${blas_version}/1.${disttag}.${compiler}.${compiler_version}.smp/lib64
    lapack=acml
    lapack_version=4.0.1
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    #scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.acml.4.0.1.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.without_ase.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=gfortran43 # problems reported on thul
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=atlas
    blas_version=3.8.3
    blasdir=/opt/${blas}/${blas_version}/1.${disttag}.${compiler}.${compiler_version}/lib64
    lapack=atlas
    lapack_version=3.8.3
    lapackdir=/opt/${lapack}/${lapack_version}/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.without_ase.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=blas
    blas_version=3.0.37.el5
    blasdir=/usr/lib64
    lapack=lapack
    lapack_version=3.0.37.el5
    lapackdir=/usr/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.without_ase.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.0.1
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.0.1
    lapackdir=/opt/${blas}/${lapack_version}/${compiler}64/lib
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.without_ase.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=ifort # fails on thul
    compiler_version=11.0
    compiler_libdir=/opt/intel/Compiler/11.0/083/lib/intel64
    compiler_bindir=/opt/intel/Compiler/11.0/083/bin/intel64
    blas=mkl
    blas_version=10.1.3.027
    blasdir=/opt/intel/${blas}/${blas_version}/lib/em64t
    lapack=mkl_lapack
    lapack_version=10.1.3.027
    lapackdir=${blasdir}
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=mkl
    blacsdir=${blasdir}
    scalapack=mkl
    scalapackdir=${blasdir}
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.without_ase.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=gfortran43 # only on thul # fails on thul
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=mkl
    blas_version=10.1.3.027
    blasdir=/opt/intel/${blas}/${blas_version}/lib/em64t
    lapack=mkl_lapack
    lapack_version=10.1.3.027
    lapackdir=${blasdir}
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=mkl
    blacsdir=${blasdir}
    scalapack=mkl
    scalapackdir=${blasdir}
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.without_ase.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    compiler=gfortran43 # only on thul
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=mkl
    blas_version=10.2.1.017
    blasdir=/opt/intel/${blas}/${blas_version}/lib/em64t
    lapack=mkl_lapack
    lapack_version=10.2.1.017
    lapackdir=${blasdir}
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=mkl
    blacsdir=${blasdir}
    scalapack=mkl
    scalapackdir=${blasdir}
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.without_ase.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above
    . fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh

    . fys.build.gpaw.sh
    #
    . fys.set.Niflheim.gpaw.0.6.5147.gfortran.4.1.2.openmpi.1.3.3.acml.4.0.1.acml.4.0.1.sh

    . fys.build.gpaw.sh

    # default gfortran and netlib blas/lapack/scalapack
    . fys.set.Niflheim.gpaw.0.6.5147.gfortran.4.1.2.openmpi.1.3.3.acml.4.0.1.acml.4.0.1.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh

    . fys.build.gpaw.sh

    # latest gfortran and netlib blas/lapack/scalapack
    . fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh

    . fys.build.gpaw.sh

    # atlas - gpaw-test fails for diagonalization on fjorm el5 x86_64 18 Jan 2010
    . fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
    . fys.set.Niflheim.atlas.3.8.3.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh

    . fys.build.gpaw.sh

    # atlas - gpaw-test fails for diagonalization on fjorm el5 x86_64 18 Jan 2010
    . fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
    . fys.set.Niflheim.atlas.3.8.3.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh

    . fys.build.gpaw.sh

    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto2.1.13.sh
    . fys.set.Niflheim.blacs.1.1.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh

    . fys.build.gpaw.sh

    # only on fjorm
    # note gpaw version 0.6 --with sl_init_second_underscore=1 is necessary for rpmbuild
    . fys.set.Niflheim.pathscale.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.0.1.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto.1.26.sh
    . fys.set.Niflheim.blacs.1.1.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh

    . fys.build.gpaw.sh

    # only on fjorm
    # note gpaw version 0.6 --with sl_init_second_underscore=1 is necessary for rpmbuild
    . fys.set.Niflheim.open64.4.2.1.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.0.1.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto.1.26.sh
    . fys.set.Niflheim.blacs.1.1.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh

    . fys.build.gpaw.sh

    **Note**: open64 compiler fails with::

    /usr/bin/ld: /opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1/libmv.a(vcos.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC
    /opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1/libmv.a: could not read symbols: Bad value

    # only on fjorm
    # note gpaw version 0.6 --with sl_init_second_underscore=1 is necessary for rpmbuild
    . fys.set.Niflheim.open64.4.2.3.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto.1.26.sh
    . fys.set.Niflheim.blacs.1.1.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh

    . fys.build.gpaw.sh

    #
    # note gpaw version 0.6 --with sl_init_second_underscore=1 is necessary for rpmbuild
    . fys.set.Niflheim.open64.4.2.3.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh

    . fys.build.gpaw.sh

    # only on thul
    . fys.set.Niflheim.ifort.11.1.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh

    . fys.build.gpaw.sh

    # only on thul
    . fys.set.Niflheim.ifort.11.0.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh

    . fys.build.gpaw.sh

    # only on thul # fails on thul
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.mkl.10.2.4.032.sh

    . fys.build.gpaw.sh

    # only on thul # fails on thul
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.mkl.10.2.1.017.sh

    . fys.build.gpaw.sh

    # only on thul # fails on thul
    . fys.set.Niflheim.ifort.11.0.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.mkl.10.1.3.027.sh

    . fys.build.gpaw.sh

    # only on thul # fails on thul
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.mkl.10.1.3.027.sh

    . fys.build.gpaw.sh
Line 2193: Line 2024:
- Asap

  Build the following RPMS::

    major_version=3
    version1=2
    version2=6

    cd ~/rpmbuild/SOURCES&& wget "http://dcwww.camp.dtu.dk/campos/download/Asap-${major_version}.${version1}.${version2}.tar.gz"
    cd ~/rpmbuild/SPECS
  On a custom system build the following RPMS::

    . fys.set.Asap.default.sh

    (rpm_prefix=/usr && . fys.build.Asap.sh)

  On Niflheim build the following RPMS::

    #
Line 2205: Line 2034:

    compiler=pathscale # only on fjorm
    compiler_version=3.2
    compiler_libdir=/opt/pathscale/lib/3.2
    compiler_bindir=/opt/pathscale/bin
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.openmpi.${openmpi_version}

    rpmbuild --bb --with major_version=${major_version} --with version1=${version1} --with version2=${version2} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with python_version=${python_version} \
                   --with prefix=/opt/campos-asap${major_version}/${major_version}.${version1}.${version2}/${release} campos-asap.spec

    compiler=open64 # only on fjorm # 24 Aug 2009 fails
    compiler_version=4.2.1
    compiler_libdir=/opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1
    compiler_bindir=/opt/open64/4.2.1/bin
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.openmpi.${openmpi_version}

    !rpmbuild # as rpmbuild above

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.openmpi.${openmpi_version}

    !rpmbuild # as rpmbuild above

    module load ifort/11.0-1
    compiler=ifort # only thul
    compiler_version=11.0
    compiler_libdir=/opt/intel/Compiler/11.0/083/lib/intel64
    compiler_bindir=/opt/intel/Compiler/11.0/083/bin/intel64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.openmpi.${openmpi_version}

    !rpmbuild # as rpmbuild above
    . fys.set.Niflheim.Asap.3.2.6.open64.4.2.4.openmpi.1.4.3.sh

    . fys.build.Asap.sh

    #
    module load ASE3
    . fys.set.Niflheim.Asap.3.2.6.open64.4.2.3.openmpi.1.3.3.sh

    . fys.build.Asap.sh

    # only on fjorm
    module load ASE3
    . fys.set.Niflheim.Asap.3.2.6.pathscale.3.2.openmpi.1.3.3.sh

    . fys.build.Asap.sh

    # only on thul
    module load ASE3
    module load ifort/11.1-1
    . fys.set.Niflheim.Asap.3.2.6.ifort.11.1.openmpi.1.3.3.sh

    . fys.build.Asap.sh
Line 2266: Line 2060:
.. _abinit-pseudopotentials-1.tar.gz: attachment:abinit-pseudopotentials-1.tar.gz

abinit-pseudopotentials-1.tar.gz_
Line 2272: Line 2062:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget --no-check-certificate \
    "https://wiki.fysik.dtu.dk/niflheim/Cluster_software_-_RPMS?action=AttachFile&do=get&target=abinit-pseudopotentials-1.tar.gz" \
    -O abinit-pseudopotentials-1.tar.gz
    cd ~/rpmbuild/SPECS

     rpmbuild -bb ${modules_usage} --with default_version abinit-pseudopotentials.spec
  **Note** this package is **not** relocatable! `abinit-pseudopotentials`_

.. _abinit-pseudopotentials: http://wiki.fysik.dtu.dk/abinit-files/abinit-pseudopotentials-2.tar.gz

  On a custom system build the following RPMS::

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.abinit-pseudopotentials.sh)

  On Niflheim build the following RPMS::

    . fys.build.abinit-pseudopotentials.sh
Line 2285: Line 2078:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget ftp://ftp.abinit.org/pub/abinitio/ABINIT_v5.4.4/abinit-5.4.4p.tar.gz
    cd ~/rpmbuild/SPECS

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    fftw=fftw3
    fftw_libdir=/opt/${fftw}/3.2.1/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    rpmbuild --bb --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with fftw=${fftw} --with fftw_libdir=${fftw_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with netcdf=${netcdf} --with netcdf_includedir=${netcdf_includedir} --with netcdf_libdir=${netcdf_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/abinit/5.4.4p/${release} abinit.spec
  On a custom system build the following RPMS::

    . fys.set.abinit.5.4.4p.default.sh
    . fys.set.atlas.default.sh

    (rpm_prefix=/usr && . fys.build.abinit.5.4.4p.sh)

  On Niflheim build the following RPMS::

    . fys.set.Niflheim.abinit.5.4.4p.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.fftw3.sh
    hdf=none

    . fys.build.abinit.5.4.4p.sh
Line 2364: Line 2133:
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf_includedir=/opt/${netcdf}/4.0.1/1${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1${disttag}.${compiler}.${compiler_version}/lib64
Line 2367: Line 2136:
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    ompi_libdir=/opt/openmpi/${openmpi_version}-1${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1${disttag_network}.${compiler}.${compiler_version}/bin
Line 2371: Line 2140:
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64     blacsdir=/opt/blacs/1.1/24${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
Line 2373: Line 2142:
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}
    scalapackdir=/opt/scalapack/1.8.0/1${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}
Line 2393: Line 2162:
  **Note** this package is **not** relocatable!

`quantum espresso <http://www.quantum-espresso.org/>`_
Line 2395: Line 2168:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://www.quantum-espresso.org/pseudo/espresso_pp.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version espresso_pp.spec
  On a custom system build the following RPMS::

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.espresso_pp.sh)

  On Niflheim build the following RPMS::

    . fys.build.espresso_pp.sh
Line 2404: Line 2178:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://www.pwscf.org/downloads/PWversion/4.0.5/espresso-4.0.5.tar.gz
    cd ~/rpmbuild/SPECS

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    fftw=fftw3
    fftw_libdir=/opt/${fftw}/3.2.1/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    rpmbuild --bb --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with fftw=${fftw} --with fftw_libdir=${fftw_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with netcdf=${netcdf} --with netcdf_includedir=${netcdf_includedir} --with netcdf_libdir=${netcdf_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   --with blacs=${blacs} --with blacsdir=${blacsdir} \
                   --with scalapack=${scalapack} --with scalapackdir=${scalapackdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/espresso/4.0.5/${release} espresso.spec
  **Note** March 04 2010: version 4.0.5 does not compile with gfortran >= 4.4 (?)

  **Note** March 04 2010: version 4.1.2 results in and "STOP 1" status for tests if EXX is enabled

  On a custom system build the following RPMS::

    . fys.set.espresso.4.1.2.default.sh

    (rpm_prefix=/usr && . fys.build.espresso.sh)

    # March 06 2010 fc12, el5 with atlas gives for atom-lsda.in: On entry to DSYGVX parameter number 20 had an illegal value
    . fys.set.espresso.4.1.2.default.sh
    . fys.set.atlas.default.sh

    (rpm_prefix=/usr && . fys.build.espresso.sh)

  On Niflheim build the following RPMS::

    # version used with yambo 3.2.1.426M - enable EXX in the spec file!
    . fys.set.Niflheim.espresso.4.0.5.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh

    . fys.build.espresso.sh

    # version 5.0.1
    . fys.set.Niflheim.espresso.5.0.1.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
    . fys.build.espresso.5.sh
Line 2457: Line 2214:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget "http://www.yambo-code.org/counter/click.php?id=26"
    cd ~/rpmbuild/SPECS

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    fftw=fftw3
    fftw_libdir=/opt/${fftw}/3.2.1/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    rpmbuild --bb --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with fftw=${fftw} --with fftw_libdir=${fftw_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with netcdf=${netcdf} --with netcdf_includedir=${netcdf_includedir} --with netcdf_libdir=${netcdf_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   --with blacs=${blacs} --with blacsdir=${blacsdir} \
                   --with scalapack=${scalapack} --with scalapackdir=${scalapackdir} \
                   --with iotkdir=/opt/espresso/4.0.5/${release}/share/espresso/iotk \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/yambo/3.2.1.448/${release} yambo.spec
  On a custom system build the following RPMS::

    . fys.set.yambo.default.sh
    . fys.set.atlas.default.sh

    (rpm_prefix=/usr && . fys.build.yambo.sh)

  On Niflheim build the following RPMS::

    # Nov 15 2010: ETSF compilation part fails with "Error: Symbol 'default_tel' at (1) has no IMPLICIT type": see http://www.yambo-code.org/forum/viewtopic.php?f=1&t=266
    . fys.set.Niflheim.yambo.3.2.3.16.gfortran43.4.3.2.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.sh
    hdf=none

    . fys.build.yambo.sh
    #
    . fys.set.Niflheim.yambo.3.2.1.448.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
    hdf=none

    . fys.build.yambo.sh

    # special yambo 3.2.1.426M
    . fys.set.Niflheim.yambo.3.2.1.426M.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
    hdf=none

    . fys.build.yambo.sh

- yambo NON-GPL

  This is a NON-GPL version of yambo.

  On Niflheim build the following RPMS::

    . fys.set.Niflheim.yambo-ngpl.3.2.3.735M.gfortran43.4.3.2.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.sh
    hdf=none

    . fys.build.yambo.sh
Line 2505: Line 2254:
`elk <http://elk.sourceforge.net/>`_
Line 2507: Line 2258:
  Build the following RPMS::

    major_version=0
    version1=9
    version2=278

    cd ~/rpmbuild/SOURCES&& wget http://downloads.sourceforge.net/project/elk/elk/${major_version}.${version1}.${version2}/elk-${major_version}.${version1}.${version2}.tgz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb --with major_version=${major_version} --with version1=${version1} --with version2=${version2} \
                 ${modules_usage} --with default_version elk-species.spec
  **Note** this package is **not** relocatable!

  On a custom system build the following RPMS::

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.elk-species.sh)

  On Niflheim build the following RPMS::

    . fys.build.elk-species.sh
Line 2521: Line 2270:
  Build the following RPMS::

    major_version=0
    version1=9
    version2=278

    cd ~/rpmbuild/SOURCES&& wget http://downloads.sourceforge.net/project/elk/elk/${major_version}.${version1}.${version2}/elk-${major_version}.${version1}.${version2}.tgz
    cd ~/rpmbuild/SPECS
    thread_mode=nomp

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    release=1.${disttag}.${compiler}.${compiler_version}.${thread_mode}.${blas}.${blas_version}.${lapack}.${lapack_version}

    rpmbuild --bb --with major_version=${major_version} --with version1=${version1} --with version2=${version2} \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with thread_mode=${thread_mode} --with parallel=1 \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/elk/${major_version}.${version1}.${version2}/${release} elk.spec

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=blas
    blas_version=3.0.37.el5
    blasdir=/usr/lib64
    lapack=lapack
    lapack_version=3.0.37.el5
    lapackdir=/usr/lib64
    release=1.${disttag}.${compiler}.${compiler_version}.${thread_mode}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    # multithreaded
    thread_mode=mp
    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64_${thread_mode}/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64_${thread_mode}/lib
    release=1.${disttag}.${compiler}.${compiler_version}.${thread_mode}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    # multithreaded
    thread_mode=mp
    compiler=gfortran43 # only on fjorm # sometimes freezes in threaded mode
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=goto
    blas_version=1.26
    blasdir=/opt/${blas}/${blas_version}/1.${disttag}.${compiler}.${compiler_version}.smp/lib64
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64_${thread_mode}/lib
    release=1.${disttag}.${compiler}.${compiler_version}.${thread_mode}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above
  On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh

    (rpm_prefix=/usr && thread_mode=mp && . fys.build.elk.sh)

  On Niflheim build the following RPMS::

    # OpenMP with MPI version
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.3.0_mp.sh
    . fys.set.lapack.acml.sh
    
    (thread_mode=mp && . fys.build.elk.sh)

    # OpenMP version
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.blas.acml.4.3.0_mp.sh
    . fys.set.lapack.acml.sh
    
    (thread_mode=mp && . fys.build.elk.sh)

    # MPI version
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    
    (thread_mode=nomp && . fys.build.elk.sh)
Line 2623: Line 2328:
             --with prefix=/opt/vtkdata/5.4.2/1.${disttag} vtkdata.spec              --with prefix=/opt/vtkdata/5.4.2/1${disttag} vtkdata.spec
Line 2637: Line 2342:
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    ompi_libdir=/opt/openmpi/${openmpi_version}-1${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1${disttag_network}.${compiler}.${compiler_version}/bin
Line 2649: Line 2354:
                   --with prefix=/opt/vtk/5.4.2/1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.openmpi.${openmpi_version} vtk.spec                    --with prefix=/opt/vtk/5.4.2/1${disttag_network}.${compiler}.${compiler_version}.python${python_version}.openmpi.${openmpi_version} vtk.spec
Line 2656: Line 2361:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget "http://www.tddft.org/programs/octopus/down.php?file=3.1.0/octopus-3.1.0.tar.gz"
    cd ~/rpmbuild/SPECS

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    fftw=fftw3
    fftw_libdir=/opt/${fftw}/3.2.1/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    gsl_libdir=/usr/lib64
    gsl_includedir=/usr/include/gsl
    gsl_bindir=/usr/bin
    arpack=arpack
    arpackdir=/usr/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    rpmbuild --bb --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with fftw=${fftw} --with fftw_libdir=${fftw_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with netcdf=${netcdf} --with netcdf_includedir=${netcdf_includedir} --with netcdf_libdir=${netcdf_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   --with arpack=${arpack} --with arpackdir=${arpackdir} \
                   --with gsl_libdir=${gsl_libdir} --with gsl_includedir=${gsl_includedir} --with gsl_bindir=${gsl_bindir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/octopus/3.1.0/${release} octopus.spec
  **Note** March 15 2010: gfortran 4.1.2 on el5: Segmentation fault

  On a custom system build the following RPMS::

    . fys.set.octopus.default.sh
    . fys.set.atlas.default.sh

    (rpm_prefix=/usr && . fys.build.octopus.3.2.0.sh)

  On Niflheim build the following RPMS::

    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.netcdf4.4.0.1.sh
    . fys.set.Niflheim.fftw3.3.2.1.sh
    . fys.set.blas.acml.4.3.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.gsl.default.sh
    . fys.set.arpack.default.sh
    
    . fys.build.octopus.3.2.0.sh
Line 2709: Line 2391:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://www.cs.uoregon.edu/research/paracomp/pdtoolkit/Download/pdt_latest.tar.gz
    mv pdt_latest.tar.gz `tar ztf pdt_latest.tar.gz | head -1 | cut -d "/" -f 2`.tar.gz
    cd ~/rpmbuild/SPECS

    major_version=3
    version1=14
    version2=1

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin

    rpmbuild -bb --with version1=${version1} --with version2=${version2} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with python_version=${python_version} \
                   --with prefix=/opt/pdtoolkit/${major_version}.${version1}.${version2}/1.${disttag}.${compiler}.${compiler_version}.python${python_version} pdtoolkit.spec

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin

    !rpmbuild # as rpmbuild above
  On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh

    (rpm_prefix=/opt/pdtoolkit && . fys.build.pdtoolkit.sh)

  On Niflheim build the following RPMS::

    . fys.set.Niflheim.gfortran.4.1.2.sh
    
    . fys.build.pdtoolkit.sh
    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    
    . fys.build.pdtoolkit.sh
Line 2744: Line 2412:
  Build the following RPMS::

    cd ~/rpmbuild/SOURCES&& wget http://www.cs.uoregon.edu/research/paracomp/tau/tauprofile/dist/tau_latest.tar.gz
    mv tau_latest.tar.gz `tar ztf tau_latest.tar.gz | head -1 | cut -d "/" -f 1`.tar.gz
    cd ~/rpmbuild/SPECS

    major_version=2
    version1=18
    version2=2p4

    module load PDTOOLKIT/3.14.1-1.el5.fys.gfortran.4.1.2.python${python_version}
    pdt_rootdir=${PDTROOT}

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.openmpi.${openmpi_version}

    rpmbuild -bb -with version1=${version1} --with version2=${version2} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with pdt_rootdir=${pdt_rootdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with python_version=${python_version} \
                   --with prefix=/opt/tau/${major_version}.${version1}.${version2}/${release} tau.spec

    module load PDTOOLKIT/3.14.1-1.el5.fys.gfortran43.4.3.2.python${python_version}
    pdt_rootdir=${PDTROOT}

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.openmpi.${openmpi_version}

    !rpmbuild # as rpmbuild above
  On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh

    (rpm_prefix=/opt/tau && . fys.build.tau.sh)

  On Niflheim build the following RPMS::

    pdtoolkit_version=3.15

    module purge
    unset PDTROOT
    . fys.set.Niflheim.gfortran.4.1.2.sh
      module load PDTOOLKIT/${pdtoolkit_version}-1.el5.fys.${compiler}.${compiler_version}.python${python_version}
    . fys.set.Niflheim.openmpi.1.3.3.sh

    . fys.build.tau.sh
    #
    module purge
    unset PDTROOT
    . fys.set.Niflheim.gfortran43.4.3.2.sh
      module load PDTOOLKIT/${pdtoolkit_version}-1.el5.fys.${compiler}.${compiler_version}.python${python_version}
    . fys.set.Niflheim.openmpi.1.3.3.sh
    
    . fys.build.tau.sh
Line 2809: Line 2455:
  Build the following RPMS::

    cd ~/rpmbuild/SPECS

    rpmbuild -bb ${modules_usage} --with default_version vasp-potpaw.spec
  **Note** this package is **not** relocatable!

  On a custom system build the following RPMS::

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.vasp-potpaw.sh)

  On Niflheim build the following RPMS::

    . fys.build.vasp-potpaw.sh
Line 2817: Line 2467:
  `vasp <http://cms.mpi.univie.ac.at/vasp/>`_. Download ``vasp.5.X.tar.gz`` and ``vasp.5.lib.tar.gz`` to ``~/rpmbuild/SOURCES``.
  Optionally download also ``vtstcode.tar.gz`` from http://theory.cm.utexas.edu/vtsttools/downloads/.

  B
uild the following RPMS::

    cd ~/rpmbuild/SPECS

    major_version=5
    version1=2
  `vasp <http://cms.mpi.univie.ac.at/vasp/>`_. Download ``vasp.5.X.Y.tar.gz`` and ``vasp.5.lib.tar.gz`` to ``~/rpmbuild/SOURCES``.
  Optionally download also ``vtstcode.tar.gz`` from http://theory.cm.utexas.edu/vtsttools/download.html.

  On a custom system b
uild the following RPMS::
Line 2827: Line 2473:
    hdf=none
Line 2829: Line 2476:
    if [ "$tst" == "false" ];
    then
       vasp_tst='.'
    else
       vasp_tst='.tst.'
    fi

    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.0.1
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.0.1
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    fftw=fftw3
    fftw_libdir=/opt/${fftw}/3.2.1/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    #scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.blas.3.0.37.el5.lapack.3.0.37.el5/lib64
    release=1.${disttag_network}${vasp_tst}${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    rpmbuild --bb --with tst=${tst} --with major_version=${major_version} --with version1=${version1} \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with fftw=${fftw} --with fftw_libdir=${fftw_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with netcdf=${netcdf} --with netcdf_includedir=${netcdf_includedir} --with netcdf_libdir=${netcdf_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   --with blacs=${blacs} --with blacsdir=${blacsdir} \
                   --with scalapack=${scalapack} --with scalapackdir=${scalapackdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/vasp/${major_version}.${version1}/${release} vasp.spec

    compiler=gfortran43 # 25 Sep 2009: segmentation fault when compiling dipol.f90
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    fftw=fftw3
    fftw_libdir=/opt/${fftw}/3.2.1/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}${vasp_tst}${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}

    !rpmbuild # as rpmbuild above
    . fys.set.vasp.5.2.11.default.sh

    (rpm_prefix=/usr && . fys.build.vasp.sh)

  On Niflheim build the following RPMS::

    # gfortran 4.1.2 is the only of our compilers that works! MD 6 Oct 2011
    # Compile with VASP TST library: http://theory.cm.utexas.edu/vtsttools/downloads/
    hdf=none
    tst=false # or true

    . fys.set.Niflheim.vasp.5.2.12.gfortran.4.1.2.openmpi.1.3.3.acml.4.0.1.acml.4.0.1.fftw3.sh
    
    . fys.build.vasp.sh
    #
    # 25 Sep 2009: segmentation fault when compiling dipol.f90
    hdf=none
    tst=false # or true

    . fys.set.Niflheim.vasp.5.2.2.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.fftw3.sh

    . fys.build.vasp.sh
    #
    # 11 May 2010: in dfast.f90"LINCOM" is the name of this program unit, therefore it must not be use associated from module "DFAST".
    hdf=none
    tst=false # or true

    . fys.set.Niflheim.vasp.5.2.2.open64.4.2.3.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.fftw3.sh

    . fys.build.vasp.sh
    #
    # only on thul
    # 15 Feb 2011; 6 Oct 2011: forrtl: severe (174): SIGSEGV, segmentation fault occurred during DAV
    hdf=none
    tst=false # or true

    . fys.set.Niflheim.vasp.5.2.12.ifort.11.1.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.fftw3.sh

    . fys.build.vasp.sh
Line 2909: Line 2521:
  Build the following RPMS::

    major_version=9
    version1=10
    version2=None

    cd ~/rpmbuild/SOURCES&& wget http://static.exciting-code.org/exciting.hydrogen.${major_version}.${version1}.tar.gz
    cd ~/rpmbuild/SPECS

    rpmbuild -bb --with major_version=${major_version} --with version1=${version1} --with version2=${version2} \
                 ${modules_usage} --with default_version exciting-species.spec
  **Note** this package is **not** relocatable!

  On a custom system build the following RPMS::

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.exciting-species.9.10.sh)

  On Niflheim build the following RPMS::

    . fys.build.exciting-species.9.10.sh
Line 2931: Line 2541:
  Build the following RPMS::

    major_version=9
    version1=10
    version2=None

    cd ~/rpmbuild/SOURCES&& wget http://static.exciting-code.org/exciting.hydrogen.${major_version}.${version1}.tar.gz
    cd ~/rpmbuild/SPECS
    thread_mode=nomp
    
    module load g95 # only on fjorm

    compiler=g95 # only on fjorm
    compiler_version=0.91
    compiler_libdir=/opt/g95/0.91/lib/gcc-lib/x86_64-unknown-linux-gnu/4.0.3
    compiler_bindir=/opt/g95/0.91/bin
    blas=blas
    blas_version=3.0.37.el5
    blasdir=/usr/lib64
    lapack=lapack
    lapack_version=${blas_version}
    lapackdir=/usr/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.${thread_mode}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    rpmbuild --bb --with major_version=${major_version} --with version1=${version1} --with version2=${version2} \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with thread_mode=${thread_mode} --with parallel=1 \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   --with arpack=arpack \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/exciting/${major_version}.${version1}/${release} exciting.spec

    module load ifort # only on thul

    compiler=ifort # only on thul
    compiler_version=11.0
    compiler_libdir=/opt/intel/Compiler/11.0/083/lib/intel64
    compiler_bindir=/opt/intel/Compiler/11.0/083/bin/intel64
    blas=mkl
    blas_version=10.1.3.027
    blasdir=/opt/intel/${blas}/${blas_version}/lib/em64t
    lapack=mkl_lapack
    lapack_version=${blas_version}
    lapackdir=${blasdir}
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.${thread_mode}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above
  On a custom system build the following RPMS::

    # March 12 2010: build fails on el5 with gfortran 4.1.2 and 4.3.2
    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh
    . fys.set.arpack.default.sh
    . fys.set.atlas.default.sh

    (rpm_prefix=/usr && thread_mode=nomp && . fys.build.exciting.9.10.sh)

    # March 12 2010: build fails on el5 with gfortran 4.1.2 and 4.3.2
    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh
    . fys.set.arpack.default.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh

    (rpm_prefix=/usr && thread_mode=nomp && . fys.build.exciting.9.10.sh)

  On Niflheim build the following RPMS::

    # only on fjorm
    . fys.set.Niflheim.g95.0.91.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.3.0_mp.sh
    . fys.set.lapack.acml.sh

    (thread_mode=mp && . fys.build.exciting.9.10.sh)

    # only on thul
    . fys.set.Niflheim.ifort.11.0.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.mkl.10.1.3.027.sh

    (thread_mode=nomp && . fys.build.exciting.9.10.sh)
Line 2999: Line 2584:
  Build the following RPMS::

    cd ~/rpmbuild/SPECS

    major_version=25
    version1=g
    if [ "$version1" == "None" ];
    then
       fleur_version=${major_version}
    else
       fleur_version=${major_version}.${version1}
    fi

    compiler=gfortran43 #
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    rpmbuild --bb --with major_version=${major_version} --with version1=${version1} \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   --with blacs=${blacs} --with blacsdir=${blacsdir} \
                   --with scalapack=${scalapack} --with scalapackdir=${scalapackdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/fleur/${fleur_version}/${release} fleur.spec

    module load g95 # only on fjorm

    compiler=g95 # only on fjorm
    compiler_version=0.91
    compiler_libdir=/opt/g95/0.91/lib/gcc-lib/x86_64-unknown-linux-gnu/4.0.3
    compiler_bindir=/opt/g95/0.91/bin
    blas=blas
    blas_version=3.0.37.el5
    blasdir=/usr/lib64
    lapack=lapack
    lapack_version=${blas_version}
    lapackdir=/usr/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=none
    scalapack=none
    release=1.${disttag_network}.${compiler}.${compiler_version}.${thread_mode}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above

    module load ifort # only on thul

    compiler=ifort # only on thul
    compiler_version=11.0
    compiler_libdir=/opt/intel/Compiler/11.0/083/lib/intel64
    compiler_bindir=/opt/intel/Compiler/11.0/083/bin/intel64
    blas=mkl
    blas_version=10.1.3.027
    blasdir=/opt/intel/${blas}/${blas_version}/lib/em64t
    lapack=mkl_lapack
    lapack_version=${blas_version}
    lapackdir=${blasdir}
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=mkl
    blacsdir=${blasdir}
    scalapack=mkl
    scalapackdir=${blasdir}
    release=1.${disttag_network}.${compiler}.${compiler_version}.${thread_mode}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above
  On a custom system build the following RPMS::

    . fys.set.fleur.default.sh

    (rpm_prefix=/usr && . fys.build.fleur.sh)

  On Niflheim build the following RPMS::

    . fys.set.Niflheim.fleur.v26b.gfortran43.4.3.2.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.sh

    . fys.build.fleur.sh
    # only on thul # Sep 04 2010: build fails with forrtl: severe (174): SIGSEGV, segmentation fault occurred
    . fys.set.Niflheim.fleur.v26b.ifort.11.0.openmpi.1.3.3.mkl.10.1.3.027.mkl_lapack.10.1.3.027.sh

    . fys.build.fleur.sh
Line 3100: Line 2609:
  Build the following RPMS::

    major_version=3
    version1=4

    cd ~/rpmbuild/SPECS
    thread_mode=nomp

    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    release=1.${disttag}.${compiler}.${compiler_version}.${thread_mode}.${blas}.${blas_version}.${lapack}.${lapack_version}

    rpmbuild --bb --with major_version=${major_version} --with version1=${version1} \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with thread_mode=${thread_mode} --with parallel=1 \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/gulp/${major_version}.${version1}/${release} gulp.spec

    # multithreaded
    thread_mode=mp
    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64_${thread_mode}/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64_${thread_mode}/lib
    release=1.${disttag}.${compiler}.${compiler_version}.${thread_mode}.${blas}.${blas_version}.${lapack}.${lapack_version}

    !rpmbuild # as rpmbuild above
  On a custom system build the following RPMS::

    . fys.set.gfortran.default.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh

    (rpm_prefix=/usr && thread_mode=mp && . fys.build.gulp.sh)

  On Niflheim build the following RPMS::

    # OpenMP version
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.blas.acml.4.3.0_mp.sh
    . fys.set.lapack.acml.sh
    
    (thread_mode=mp && . fys.build.gulp.sh)


cmr
---

Computational Materials Repository.

On a custom system build the following RPMS::

  (rpm_prefix=/usr && rpmbuild -bb ${default_version_usage} ${modules_usage} cmr.spec)

On Niflheim build the following RPMS::

  module load DACAPO
  module load GPAW
  module unload ASE3
  module load ASE3
  module load SCIENTIFICPYTHON/2.8

  # if needed, create tar file
  cd ~/rpmbuild/SOURCES && python cmr_release.py
  cd ~/rpmbuild/SPECS
  . fys.build.cmr.sh
Line 3148: Line 2651:

**Note** this section is outdated.

This page below describes:

  • configuration of the fys yum repository,
  • the necessary steps to build RPM software packages on a custom RPM-based (currently el, fc) system and the login nodes fjorm or thul.

Warning: campos-dacapo-python provides a python interface to campos-dacapo Fortran code, through campos-ase2. On a 64-bit machine campos-ase2 works only with python <= 2.4, due to the unmaintained python-numeric package. Users on modern systems can use instead the campos-ase3 package and skip installation of any packages related to campos-ase2.

Warning: on 64-bit machines el5 installs often only 32-bit versions of packages. Please verify that 64-bit versions are installed, otherwise run the corresponding yum install package again.

Configure fys yum repository

We host a yum repository, which contains RPM packages of our software for the following systems: el (RedHat Enterprise Linux, or CentOS), fc (Fedora), openSUSE (openSUSE):

  • configure fys yum repository:

    yum -y install yum-utils wget
    cd /etc/yum.repos.d
    wget --no-check-certificate https://svn.fysik.dtu.dk/projects/rpmbuild/trunk/SOURCES/fys_el.repo

    Note on a RedHat system the value of $releasever in the fys_el.repo file need to be edited manually (changed for example into 5Client, 5Server, etc).

    Note on RedHat 6 or clone systems (Scientific Linux, CentOS) the value of $releasever in the fys_el.repo file may need to be edited manually (set explicitly to 6).

    Note on a Fedora system download fys_fc.repo instead, and use fys_fc identifier in the command below. Moreover on a fc system you do not need to include any external repositories.

    Note on an openSUSE system download fys_openSUSE.repo instead and save it under /etc/zypp/repos.d, and use fys_openSUSE identifier in the command below. You need to include additional external openSUSE repositories: see configure external repositories

  • list all packages available in the fys yum repository, maybe you need some of them?:

    yum list available --disablerepo=* --enablerepo=fys_el

    Note: on el configure external repositories as installation of most packages requires enabling epel or atrpms repositories:

    yum -y install --enablerepo=fys_el,epel,atrpms campos-dacapo

    Note: most of the fys packages are relocatable with the default prefix of /usr. As an example one installs campos-dacapo into the /opt/campos-dacapo-2.7.16 prefix as follows:

    mkdir fys && cd fys # fys directory stores downloaded RPMS
    yumdownloader --resolve --enablerepo=fys_el,epel,atrpms campos-dacapo-2.7.16
    mkdir tmp && mv campos-dacapo-2.7.16* tmp
    yum -y localinstall *
    rpm -ivh --relocate "/usr"="/opt/campos-dacapo-2.7.16" tmp/campos-dacapo-*
    mv tmp/campos-dacapo-* . && rmdir tmp

    Have a look at the /opt/campos-dacapo-2.7.16/share/campos-dacapo/*.*sh to see what environment variables need to be set in case of an installation into a non-default prefix. There is also a template modulefile /opt/campos-dacapo-2.7.16/share/campos-dacapo/campos-dacapo-2.7.16* that contains `prereq`ired modules (modulefiles surely are different on your system).

    On systems where you don't have root access you can consider downloading RPMS individually and extracting the contents of the RPMS, for example:

    mkdir ~/fys && cd ~/fys
    rpm2cpio http://packages/pub/linux/fys/el/5/x86_64/campos-dacapo-pseudopotentials-1-2.el5.fys.noarch.rpm | cpio -idmv

Configure external repos

On openSUSE, as root:

  • enable the packman repository as described at http://opensuse-community.org/Repositories/Packman

  • add multimedia:/photo repository, e.g. for opensuse-11.2:

    zypper addrepo --repo http://download.opensuse.org/repositories/multimedia:/photo/openSUSE_11.2/multimedia:photo.repo # python-sphinx is there!!!

On RedHat Enterprise Linux or CentOS, as root:

  • create yum repository definitions (do not enable them):
  • ATrpms:

    • official way: follow ATrpms installation instructions and edit /etc/yum.repos.d/atrpms.repo so it contains:

      enabled=0
    • fast way:

      echo '[atrpms]' > /etc/yum.repos.d/atrpms.repo
      echo 'name=CentOS $releasever - $basearch - ATrpms' >> /etc/yum.repos.d/atrpms.repo
      echo 'baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable' >> /etc/yum.repos.d/atrpms.repo
      echo '#baseurl=http://mirrors.ircam.fr/pub/atrpms/el$releasever-$basearch/atrpms/stable' >> /etc/yum.repos.d/atrpms.repo
      echo 'gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms' >> /etc/yum.repos.d/atrpms.repo
      echo 'gpgcheck=1' >> /etc/yum.repos.d/atrpms.repo
      echo 'enabled=0' >> /etc/yum.repos.d/atrpms.repo
  • EPEL:

    • official way: follow EPEL/FAQ/howtouse and edit /etc/yum.repos.d/epel.repo so it contains:

      enabled=0
    • fast way:

      echo '[epel]' > /etc/yum.repos.d/epel.repo
      echo 'name=CentOS $releasever - $basearch - EPEL' >> /etc/yum.repos.d/epel.repo
      echo 'baseurl=http://download.fedora.redhat.com/pub/epel/$releasever/$basearch' >> /etc/yum.repos.d/epel.repo
      echo 'gpgkey=http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL' >> /etc/yum.repos.d/epel.repo
      echo 'gpgcheck=1' >> /etc/yum.repos.d/epel.repo
      echo 'enabled=0' >> /etc/yum.repos.d/epel.repo
  • install, as root:

    yum install yum-utils wget
    # /var directories must be created
    yum search --enablerepo=atrpms arpack-devel
    yum search --enablerepo=epel jmol

Configure rpmbuild

  • create and retrieve the rpmbuild project (as rpmbuild user):

    cd
    svn co https://svn.fysik.dtu.dk/projects/rpmbuild/trunk ~/rpmbuild
  • include the rpmbuild environment configuration script in ~/.bashrc:

  • copy the script:

    cp ~/rpmbuild/SOURCES/.bashrc_rpmbuild ~/

    Note: if installing on a system different than el5 edit the rpm_platform and egg_info variables.

  • and add the following to ~/.bashrc:

    if [ -r "${HOME}/.bashrc_rpmbuild" ]; then
        . ${HOME}/.bashrc_rpmbuild
    fi

    Note on Niflheim the variables:

    export FYS_PLATFORM=Intel-Nehalem-el5 # thul
    export FYS_PLATFORM=AMD-Opteron-el5 # fjorm

    will be set automatically by /home/camp/modulefiles.sh if the environment-modules package is installed.

  • create temporary directory:

    mkdir -p /scratch/$USER
  • apply settings from ~/.bashrc by:

    . ~/.bashrc
  • use the following ~rpmbuild/.rpmmacros:

    cp ~/rpmbuild/SOURCES/.rpmmacros ~/
  • create directories:

    mkdir -p ~/${FYS_PLATFORM}/{RPMS,SRPMS,BUILD}
    mkdir -p ~/${FYS_PLATFORM}/{SPECS,SOURCES} # needed only by openmpi

Install external packages

  • download official packages, as rpmbuild:

    cd ~/${FYS_PLATFORM}/RPMS
    mkdir external; cd external
    # packages from other distributions
    yumdownloader --resolve texlive-latex emacs-auctex tex-preview # Fedora
    yast -i Modules texlive-latex emacs-auctex # openSUSE
    yast -i python-gtk python-xml python-lxml # openSUSE
    yast -i python-matplotlib python-numpy # openSUSE
    yast -i gcc-fortran gcc44-fortran libgfortran44 # openSUSE-11.2
    yast -i openmpi-devel blas lapack # openSUSE
    # el5 packages
    yumdownloader --resolve emacs binutils-devel glib-devel libstdc++-devel
    yumdownloader --resolve gcc-gfortran blas-devel lapack-devel python-devel python-sphinx
    yumdownloader --resolve gnuplot libXi-devel xorg-x11-fonts-100dpi pexpect tetex-latex tkinter qt-devel
    yumdownloader --resolve openmpi openmpi-devel openmpi-libs compat-dapl libibverbs librdmacm openib
    yumdownloader --resolve pygtk2-devel gtk2-devel tk-devel agg ghostscript libtiff-devel xterm
    yumdownloader --resolve libX11-devel libXext-devel openmotif openmotif-devel gd-devel libXpm-devel
    yumdownloader --resolve compat-libstdc++-33 # for mathematica
    yumdownloader --resolve MySQL-python # for CMR
    yumdownloader --resolve perl-XML-SAX # for exciting
    yumdownloader --resolve ImageMagick # for ASE3
    
    yumdownloader --resolve gcc43-c++ gcc43-gfortran # only on EL5 == 5.2
    yum localinstall * # as root
  • download atrpms packages, as rpmbuild (vtk-python is currently unavailable 16 Apr 2009):

    cd ~/${FYS_PLATFORM}/RPMS/external
    yumdownloader --resolve --enablerepo=atrpms vtk-python arpack-devel graphviz
    wget http://ATrpms.net/RPM-GPG-KEY.atrpms
    rpm --import RPM-GPG-KEY.atrpms # as root
    yum localinstall * # as root
  • download the packages from epel, as rpmbuild:

    ~/${FYS_PLATFORM}/RPMS/external
    yumdownloader --resolve --enablerepo=epel jmol gsl-devel python-lxml
    yumdownloader --resolve --enablerepo=epel environment-modules suitesparse-devel
    wget http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL
    rpm --import RPM-GPG-KEY-EPEL # as root
    yum localinstall * # as root
  • on Niflheim only: remove default openmpi:

    yum remove openmpi openmpi-libs
  • edit /etc/yum.conf so it contains:

    exclude=netcdf-* netcdf3-* fftw-* fftw2-* fftw3-* python-numeric openmpi-* libgfortran4* gcc4* libstdc++4* libgomp-* ScientificPython-*

It's time to build custom RPMS

compilers and tools

open64

Install (on the login and computes nodes) Install Open64 Compiler Suite RPM (available under ~rpmbuild/${FYS_PLATFORM}/RPMS/external/prefix), and deploy module file under ` ~rpmbuild/modulefiles/${FYS_PLATFORM}/open64`. Install using --relocate option:

rpm -ivh --relocate "/opt/open64"="/opt/open64/4.2.1" open64-4.2.1-0.x86_64.rpm

The module file is available as svn checkout at https://svn.fysik.dtu.dk/projects/modulefiles/trunk. Note: the module file should contain at least:

prepend-path     PATH /opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1
prepend-path     PATH /opt/open64/4.2.1/bin
prepend-path     LD_LIBRARY_PATH /opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1
g95

Install (on the login and computes nodes) g95 RPM (available under ~rpmbuild/${FYS_PLATFORM}/RPMS/external/prefix), and deploy module file under ` ~rpmbuild/modulefiles/${FYS_PLATFORM}/g95`. Install using --relocate option:

rpm -ivh --relocate "/usr/local"="/opt/g95/0.91" g95-0.91-4.x86_64.rpm

The module file is available as svn checkout at https://svn.fysik.dtu.dk/projects/modulefiles/trunk. Note: the module file should contain at least (do not add the lib directory to LD_LIBRARY_PATH):

prepend-path     PATH /opt/g95/0.91/lib/gcc-lib/x86_64-unknown-linux-gnu/4.0.3
prepend-path     PATH /opt/g95/0.91/bin
intel

Note: to enable new intell products upgrading of licenses may be necessary, see http://software.intel.com/en-us/articles/workaround-non-upgraded-serial-numbers-disappear-from-the-intel-registration-center-irc-list/

Note: intel changes packaging quite often, here are the installation instructions for the 12.0 compilers:

  • install RPMS (only on the login node) found in l_ccompxe_2011.1.107 manually (using rpm -ivh):

    intel-{compilerpro,idb,idbcdt,ipp,sourcechecker,tbb}*noarch* # exclude intel-compilerpro-common if installed already by mkl
    intel-{compilerpro,idb,ipp,sourcechecker}*x86_64*

    and from l_fcompxe_2011.1.107:

    intel-compilerprof*{noarch,x86_64}*
  • create a link (only on thul):

    mkdir -p /opt/intel/Compiler/2011.1
    cd /opt/intel/Compiler/2011.1 && ln -s /opt/intel/composerxe-2011.1.107 107
  • build intel compatibility packages (only on thul):

    cd ~/rpmbuild/SPECS
    rpmbuild -bb ${modules_usage} --with major_version=2011 --with version1=1 --with version2=107 intel-redist.spec

Note: do not install the RPMS generated in the last step on the login node. They need to be installed only on compute nodes. On the login node only the module file needs to be deployed under ~rpmbuild/modulefiles, as rpmbuild. Note that this directory is available as svn checkout at https://svn.fysik.dtu.dk/projects/modulefiles/trunk. Here is what need to be done for a new version of the package:

mkdir ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
cp /scratch/rpmbuild/intel-2011.1.107/2011.1.107-1.intel64${disttag} ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
cd ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
ln -s 2011.1.107-1.intel64${disttag} 12.0-1

Note: modify the file so it contains at least:

setenv INTEL_LICENSE_FILE /opt/intel/licenses

# generated by intel-redist.spec and installed on compute nodes
prepend-path    LD_LIBRARY_PATH      /opt/intel/Compiler/2011.1/107/lib/intel64
# original locations from intel
prepend-path    LD_LIBRARY_PATH      /opt/intel/composerxe-2011.1.107/compiler/lib/intel64
prepend-path    LD_LIBRARY_PATH      /opt/intel/composerxe-2011.1.107/debugger/lib/intel64
prepend-path    PATH                 /opt/intel/composerxe-2011.1.107/bin/intel64
prepend-path    MANPATH              :
prepend-path    MANPATH              /opt/intel/composerxe-2011.1.107/man
# ipp
prepend-path    PATH                 /opt/intel/composerxe-2011.1.107/ipp/bin/intel64
prepend-path    LD_LIBRARY_PATH      /opt/intel/composerxe-2011.1.107/ipp/lib/intel64
# sourcechecker
prepend-path    PATH                 /opt/intel/composerxe-2011.1.107/bin/sourcechecker/bin/intel64
prepend-path    LD_LIBRARY_PATH      /opt/intel/composerxe-2011.1.107/bin/sourcechecker/lib/intel64

Note: intel changes packaging quite often, here are the installation instructions for the 11.1 compilers:

  • install RPMS (only on the login node) found in l_cproc_p_11.1.046_intel64 manually (using rpm -ivh):

    intel-cproc046-11.1-1.x86_64.rpm
    intel-cproidb046-11.1-1.x86_64.rpm
    intel-cprolib046-11.1-1.x86_64.rpm
    intel-cprolibdev046-11.1-1.x86_64.rpm
    intel-cprotbblib046-11.1-1.noarch.rpm
    intel-cprotbblibdev046-11.1-1.noarch.rpm
    intel-cprocsdk046-11.1-1.noarch.rpm
    intel-cproidbsdk046-11.1-1.noarch.rpm

    and from l_cprof_p_11.1.046_intel64:

    intel-cprof046-11.1-1.x86_64.rpm
    intel-cproflib046-11.1-1.x86_64.rpm
    intel-cprofsdk046-11.1-1.noarch.rpm
  • enable them (only on thul):

    . /opt/intel/Compiler/11.1/046/bin/intel64/ifortvars_intel64.sh
    . /opt/intel/Compiler/11.1/046/bin/intel64/iccvars_intel64.sh
  • build intel compatibility packages as rpmbuild (only on thul):

    cd ~/rpmbuild/SPECS
    rpmbuild -bb ${modules_usage} intel-redist.spec

Note: do not install the RPMS generated in the last step on the login node. They need to be installed only on compute nodes. On the login node only the module file needs to be deployed under ~rpmbuild/modulefiles, as rpmbuild. Note that this directory is available as svn checkout at https://svn.fysik.dtu.dk/projects/modulefiles/trunk. Here is what need to be done for a new version of the package:

mkdir ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
cp /scratch/rpmbuild/intel-11.1.046/11.1.046-1.intel64${disttag} ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
cd ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
ln -s 11.1.046-1.intel64${disttag} 11.1-1 # version < 12
ln -s 2011.1.107-1.intel64${disttag} 2011.1.107-1

Note: the above module file should contain at least:

prepend-path    LD_LIBRARY_PATH      /opt/intel/Compiler/11.1/046/lib/intel64
prepend-path    LD_LIBRARY_PATH      /opt/intel/Compiler/11.1/046/idb/lib/intel64
prepend-path    PATH                 /opt/intel/Compiler/11.1/046/bin/intel64
prepend-path    MANPATH              :
prepend-path    MANPATH              /opt/intel/Compiler/11.1/046/man

Note: intel changes packaging quite often, here are the installation instructions for the 10.1.015 compilers:

  • install RPMS (on the login and compute nodes) found in l_cc_p_10.1.015_intel64.tar.gz and l_fc_p_10.1.015_intel64.tar.gz manually (using rpm -ivh):

    intel-icce101015-10.1.015-1.em64t.rpm
    intel-iidbe101015-10.1.015-1.em64t.rpm
    intel-isubhe101015-10.1.015-1.em64t.rpm
    intel-iforte101015-10.1.015-1.em64t.rpm
  • replace the installation path in the scripts (action necessary only on the login node):

    files=`grep "<INSTALLDIR>" -r /opt/intel/cce/ | cut -d":" -f 1 | uniq`
    for file in $files;
    do
        echo $file
        sed -i 's#<INSTALLDIR>#/opt/intel/cce/10.1.015#g' $file
    done
    files=`grep "<INSTALLDIR>" -r /opt/intel/fce/ | cut -d":" -f 1 | uniq`
    for file in $files;
    do
        echo $file
        sed -i 's#<INSTALLDIR>#/opt/intel/fce/10.1.015#g' $file
    done
    files=`grep "<INSTALLDIR>" -r /opt/intel/idbe/ | cut -d":" -f 1 | uniq`
    for file in $files;
    do
        echo $file
        sed -i 's#<INSTALLDIR>#/opt/intel/idbe/10.1.015#g' $file
    done
  • provide the module file ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort/10.1.015-1.intel64${disttag}:

    prepend-path    LD_LIBRARY_PATH      /opt/intel/cce/10.1.015/lib
    prepend-path    LD_LIBRARY_PATH      /opt/intel/fce/10.1.015/lib
    
    prepend-path    PATH                 /opt/intel/cce/10.1.015/bin
    prepend-path    PATH                 /opt/intel/fce/10.1.015/bin
    prepend-path    PATH                 /opt/intel/idbe/10.1.015/bin
    prepend-path    MANPATH              :
    prepend-path    MANPATH              /opt/intel/cce/10.1.015/man
    prepend-path    MANPATH              /opt/intel/fce/10.1.015/man
    prepend-path    MANPATH              /opt/intel/idbe/10.1.015/man

    and the link:

    cd ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
    ln -s 10.1.015-1.intel64${disttag} 10.1-1

Moreover: intel-*intel64* RPMS need to be installed with --nodeps, so move them into a special directory:

mkdir -p ~/${FYS_PLATFORM}/RPMS/nodeps
mv ~/${FYS_PLATFORM}/RPMS/intel-*intel64* ~/${FYS_PLATFORM}/RPMS/nodeps
intel mkl

Install mkl RPMS intel-mkl-*, intel-openmp-*, intel-compilerpro-* (intel-mkl, intel-mkllibdev, intel-mkllib for mkl version < 10.3), and build mkl compatibility package (only on thul):

# for mkl 10.3, as root
cd /opt/intel/mkl # packaging of mkl changes again so link is necessary
ln -s ../composerxe-2011.3.174/mkl/ 10.3.3.174
ln -s /opt/intel/composerxe-2011.3.174/man 10.3.3.174/man
# as rpmbuild
cd ~/rpmbuild/SOURCES
export mkl=10.3.3.174
mkdir ${mkl}
cp -rp /opt/intel/mkl/${mkl}/lib ${mkl}
cp -rpf /opt/intel/mkl/${mkl}/doc ${mkl} # for mkl < 10.3
cp -rpf /opt/intel/composerxe-2011.3.174/compiler/lib ${mkl} # for mkl >= 10.3
tar zcf intel-redist-mkl-${mkl}.tar.gz ${mkl}

cd ~/rpmbuild/SPECS # as rpmbuild
rpmbuild -bb --with version1=3 --with version2=3 --with version3=174 ${modules_usage} --with platform=intel64 intel-redist-mkl.spec
# **Warning**: mkl < 10.3 uses em64t
rpmbuild -bb --with version1=1 --with version2=3 --with version3=027 ${modules_usage} intel-redist-mkl.spec

Note: do not install the resulting RPM on the login node. It needs to be installed only on compute nodes. On the login node only the module file needs to be deployed under ~rpmbuild/modulefiles, as rpmbuild. Note that this directory is available as svn checkout at https://svn.fysik.dtu.dk/projects/modulefiles/trunk. Here is what need to be done for a new version of the package:

mkdir ~rpmbuild/modulefiles/${FYS_PLATFORM}/mkl
cp /tmp/intel-mkl-${mkl}/${mkl}-1${disttag}.em64t ~rpmbuild/modulefiles/${FYS_PLATFORM}/mkl
cd ~rpmbuild/modulefiles/${FYS_PLATFORM}/mkl
ln -s ${mkl}-1${disttag}.em64t 10.1p-027

Note: the above module file should contain at least:

prepend-path    LD_LIBRARY_PATH      /opt/intel/mkl/10.1.3.027/lib/em64t

Build mkl/fftw (as root):

export mkl=10.1.3.027
. /opt/intel/Compiler/11.0/083/bin/intel64/ifortvars_intel64.sh
cd /opt/intel/mkl/${mkl}/interfaces/fftw2xf
make libem64t
cd /opt/intel/mkl/${mkl}/lib/em64t
ln -s libfftw2xf_intel.a libfftw.a

Logout and login as rpmbuild.

Unfortunately, from 10.3 version mkl depends on intel libraries located in directories outside of mkl. This causes troubles for numpy which requires (is there a way to fix that?) all non-standard libraries to be located in one directory. Therefore one may need to create a link (currently not performed):

cd /opt/intel/mkl/10.3.4.191/lib/intel64
ln -s /opt/intel/composerxe-2011.4.191/compiler/lib/intel64/libiomp5.so .

openmpi

Build a custom openmpi, using torque support:

# openmpi-1.4.3
wget http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.3.tar.bz2 \
     -O ~/rpmbuild/SOURCES/openmpi-1.4.3.tar.bz2
module load open64/4.2.4-0
sh ./buildrpm-1.4.3-1.open64.4.2.4.sh ../SOURCES/openmpi-1.4.3.tar.bz2 2>&1 | tee buildrpm-1.4.3-1.open64.4.2.4.sh.log.${FYS_PLATFORM}
module unload open64/4.2.4-0
module load ifort/12.0-4
sh ./buildrpm-1.4.3-1.ifort.12.0.4.sh ../SOURCES/openmpi-1.4.3.tar.bz2 2>&1 | tee buildrpm-1.4.3-1.ifort.12.0.4.sh.log.${FYS_PLATFORM} # thul only
module unload ifort/12.0-4

# openmpi-1.3.3
wget http://www.open-mpi.org/software/ompi/v1.3/downloads/openmpi-1.3.3.tar.bz2 \
     -O ~/rpmbuild/SOURCES/openmpi-1.3.3.tar.bz2
sh ./buildrpm-1.3.3-1.gfortran.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.gfortran.sh.log.${FYS_PLATFORM}
sh ./buildrpm-1.3.3-1.gfortran43.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.gfortran43.sh.log.${FYS_PLATFORM}
sh ./buildrpm-1.3.3-1.pathscale.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.pathscale.sh.log.${FYS_PLATFORM}
sh ./buildrpm-1.3.3-1.ifort.11.0.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.ifort.11.0.sh.log.${FYS_PLATFORM} # thul only
sh ./buildrpm-1.3.3-1.ifort.11.1.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.ifort.11.1.sh.log.${FYS_PLATFORM} # thul only
module load g95
sh ./buildrpm-1.3.3-1.g95.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.g95.sh.log.${FYS_PLATFORM} # fjorm only
module unload g95
module load open64/4.2.1-0 # 24 June 2009: build fails on Nehalem with *configure: error: TM support requested but not found.  Aborting*
sh ./buildrpm-1.3.3-1.open64.4.2.1.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.open64.4.2.1.sh.log.${FYS_PLATFORM}
module unload open64/4.2.1-0
module load open64/4.2.3-0 # 24 June 2009: build fails on Nehalem with *configure: error: TM support requested but not found.  Aborting*
sh ./buildrpm-1.3.3-1.open64.4.2.3.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.open64.4.2.3.sh.log.${FYS_PLATFORM}
module unload open64/4.2.3-0

Note: intel openmpi needs to be installed ignoring dependencies:

rpm -ivh --nodeps --oldpackage ~rpmbuild/${FYS_PLATFORM}/RPMS/openmpi-1.3.3-1${disttag}.ifort.11.1.x86_64.rpm

acml

Note this package is not relocatable!

AMD Core Math Library contains optimized BLAS and LAPACK libraries for AMD opteron processors (work also on intel), and is available for download after registration.

Build the following RPMS:

. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.blas.acml.4.0.1.sh

. fys.build.acml.sh
#
. fys.set.Niflheim.pathscale.3.2.sh
. fys.set.blas.acml.4.0.1.sh

. fys.build.acml.sh
#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.blas.acml.4.3.0.sh

. fys.build.acml.sh
#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.blas.acml.4.3.0_mp.sh

. fys.build.acml.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.blas.acml.4.4.0.sh

. fys.build.acml.sh

#
. fys.set.Niflheim.ifort.11.0.sh
. fys.set.blas.acml.4.4.0.sh

. fys.build.acml.sh
#
. fys.set.Niflheim.open64.4.2.3.sh
. fys.set.blas.acml.4.4.0.sh

. fys.build.acml.sh

Note problems with dgemm acml 4.1.0 and 4.2.0 have been reported. Moreover campos-dacapo built with acml-4-1-0-pathscale-64bit.tgz fails with "ZINSC 2 returned info= 2" for the following job:

#!/usr/bin/env python
from Dacapo import Calculator
from ASE.IO.xyz import ReadXYZ
from ASE.Dynamics.Langevin import Langevin

prefix = 'D'
atoms = ReadXYZ('32H2O.xyz')
L = 9.8553729
atoms.SetUnitCell([L, L, L], fix=True)
atoms.SetBoundaryConditions(True)
r = 1
atoms = atoms.Repeat([r, r, r])
n = 48 * r
calc = Calculator(nbands=128 * r**3, planewavecutoff=350,
                  densitycutoff=500, xc='PBE')
atoms.SetCalculator(calc)

from time import time
atoms.GetPotentialEnergy()
pos=atoms[0].GetCartesianPosition()
atoms[0].SetCartesianPosition(pos+0.005)
t0=time()
atoms.GetPotentialEnergy()
print time()-t0

Download 32H2O.xyz

goto

GotoBLAS contains optimized BLAS libraries.

Download GotoBLAS-1.26.tar.gz (Warning outdated release of GotoBLAS is no longer available) and GotoBLAS2-1.13_bsd.tar.gz (supports Nehalem) to ~/rpmbuild/SOURCES. The default build process searches your $PATH for available compilers. Priority order is PathScale, PGI, Intel, gfortran, g95 and g77, therefore setting compilers explicitly is needed.

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh

(rpm_prefix=/usr && . fys.build.goto2.sh)

On Niflheim build RPMS (on the target compute node!) using the following command:

. fys.set.Niflheim.gfortran.4.1.2.sh

. fys.build.goto2.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh

. fys.build.goto2.sh

#
. fys.set.Niflheim.open64.4.2.3.sh

. fys.build.goto2.sh

#
. fys.set.Niflheim.open64.4.2.4.sh

. fys.build.goto2.sh

# older version of goto
#
blas_version=1.26
. fys.set.Niflheim.gfortran.4.1.2.sh

. fys.build.goto.sh

#
blas_version=1.26
. fys.set.Niflheim.gfortran43.4.3.2.sh

. fys.build.goto.sh

#
blas_version=1.26
. fys.set.Niflheim.pathscale.3.2.sh

. fys.build.goto.sh
#
blas_version=1.26
. fys.set.Niflheim.open64.4.2.1.sh

. fys.build.goto.sh
#
blas_version=1.26
. fys.set.Niflheim.open64.4.2.3.sh

. fys.build.goto.sh

Note - 1.26 version fails on Nehalem with:

../../../param.h:1195:21: error: division by zero in #if

atlas

Note this package is not relocatable!

On a custom system build the following RPMS:

blas_version=3.8.3
. fys.set.gfortran.default.sh
(rpm_prefix=/usr/local/atlas && default_version_usage="--with default_version" && . fys.build.atlas.sh)

On Niflheim build the following RPMS:

blas_version=3.8.3
. fys.set.Niflheim.gfortran.4.1.2.sh

. fys.build.atlas.sh

#
blas_version=3.8.3
. fys.set.Niflheim.gfortran43.4.3.2.sh

. fys.build.atlas.sh

Note: - 3.8.3 version fails on Opteron with open64 with:

/scratch/rpmbuild/ATLAS/RpmObjs/..//CONFIG/src/backend/comptestC.c:5: undefined reference to `__pathscale_malloc_alg'

rasmol

Required by campos-ase2.

Note that rasmol is built for 32bit architecture, so make sure that your system fulfills "BuildRequires" for both 64 and 32bit:

rpmbuild --nobuild RasMol.spec

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.RasMol.2.7.3.sh)

On Niflheim build the following RPMS:

. fys.build.RasMol.2.7.3.sh

cblas

Required by campos-ase2.

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.blas.default.sh

(rpm_prefix=/usr && . fys.build.cblas.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.blas.acml.4.0.1.sh

. fys.build.cblas.sh

python-setuptools

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.setuptools.0.6c9.sh)

On Niflheim build the following RPMS:

. fys.build.setuptools.0.6c9.sh

If using modules:

module load python-setuptools

else, if not using the default "/usr" prefix:

. /etc/profile.d/python-setuptools.sh

python-nose

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.nose.0.10.4.sh)

On Niflheim build the following RPMS:

. fys.build.nose.0.10.4.sh

If using modules:

module load python-nose

else, if not using the default "/usr" prefix:

. /etc/profile.d/python-nose.sh

numpy

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.cblas.2.23.3.sh

 (rpm_prefix=/usr && . fys.build.numpy.1.3.0.sh)

On Niflheim build the following RPMS:

module load python-setuptools
module load python-nose

. fys.set.Niflheim.numpy.1.3.0.gfortran.4.1.2.acml.4.0.1.cblas.none.sh

. fys.build.numpy.1.3.0.sh

# only on thul
. fys.set.Niflheim.numpy.1.3.0.gfortran.4.1.2.mkl.10.1.3.027.cblas.mkl.10.1.3.027.sh

. fys.build.numpy.1.3.0.sh

# building using cblas/acml causes the test below to fail
. fys.set.Niflheim.numpy.1.3.0.gfortran.4.1.2.acml.4.0.1.cblas.2.23.3.sh

. fys.build.numpy.1.3.0.sh

After installing python-numeric make a very rough check:

  • is using modules:

    module load ${blas}-${compiler}64/${blas_version}-1${disttag}
    module load cblas-${blas}-${compiler}64/2.23.3-1${disttag}.${compiler}.${compiler_version}.${blas}.${blas_version}
    module load numpy/1.3.0-1${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version}
    python -c "import numpy; from numpy.core.multiarray import dot; b = numpy.ones(13, numpy.complex); dot(b, b)"
    python -c "import numpy; numpy.test()"
  • else, if not using the default "/usr" prefix:

    . /etc/profile.d/numpy.sh

gnuplot-py

Required by campos-ase2.

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.gnuplot-py.1.8.sh)

On Niflheim build the following RPMS:

. fys.build.gnuplot-py.1.8.sh

If using modules:

module load gnuplot-py

else, if not using the default "/usr" prefix:

. /etc/profile.d/gnuplot-py.sh

python-numeric

Required by campos-ase2.

Warning: on a 64-bit machine works only with python <= 2.4.

We must install 24.2 version, and we keep the default version:

cd ~/${FYS_PLATFORM}/RPMS/external
rpm -e --nodeps python-numeric # as root
yumdownloader --resolve --disableexcludes=main python-numeric
cd ~/rpmbuild/SPECS

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.cblas.2.23.3.sh

. fys.build.Numeric.24.2.sh

On Niflheim build the following RPMS:

. fys.set.Niflheim.Numeric.24.2.gfortran.4.1.2.acml.4.0.1.cblas.2.23.3.sh

. fys.build.Numeric.24.2.sh

Note: (16 Apr 2009) currently Numeric's test.py results in (we ignore this error):

glibc detected *** python: free(): invalid next size (normal): 0x09aee970 ***

After installing python-numeric make a very rough check:

  • is using modules:

    module load ${blas}-${compiler}64/${blas_version}-1${disttag}
    module load cblas-${blas}-${compiler}64/2.23.3-1${disttag}.${compiler}.${compiler_version}.${blas}.${blas_version}
    module load python-numeric/24.2-4${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version}
    python -c "import lapack_lite"
    ldd `rpm -ql python-numeric-24.2-4${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version} | grep lapack_lite.so`
    ldd `rpm -ql python-numeric-24.2-4${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version} | grep _dotblas.so`
  • else:

    . /etc/profile.d/python-numeric.sh
    python -c "import lapack_lite"
    ldd `rpm -ql python-numeric | grep lapack_lite.so`
    ldd `rpm -ql python-numeric | grep _dotblas.so`

and reinstall the default version:

rpm -ivh --oldpackage ~/${FYS_PLATFORM}/RPMS/external/python-numeric-23.*.rpm

hdf5

HDF5 is a data model, library, and file format for storing and managing data.

We prefer version 1.8.6.

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.openmpi.default.sh

(rpm_prefix=/usr && . fys.build.hdf5.sh)

On Niflheim build the following RPMS:

#
module load open64/4.2.4-0
. fys.set.Niflheim.open64.4.2.4.sh
. fys.set.Niflheim.openmpi.1.4.3.sh

. fys.build.hdf5.1.8.6.sh
module unload open64/4.2.4-0

# older builds
#
. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.hdf5.1.8.6.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.hdf5.1.8.6.sh

#
module load open64/4.2.3-0
. fys.set.Niflheim.open64.4.2.3.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.hdf5.1.8.6.sh
module unload open64/4.2.4-0

# only on thul
module load ifort/11.1-1
. fys.set.Niflheim.ifort.11.1.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.hdf5.1.8.6.sh
module unload ifort/11.1-1

netcdf

NetCDF (network Common Data Form) is an interface for array-oriented data access and a library that provides an implementation of the interface. The NetCDF library also defines a machine-independent format for representing scientific data.

We prefer version 3.6.1 or higher (note that version 3.6.2 has fortran interface in libnetcdff.a).

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh

(rpm_prefix=/usr && . fys.build.netcdf4.4.0.1.sh)

On Niflheim build the following RPMS:

 #
 . fys.set.Niflheim.open64.4.2.4.sh
 . fys.set.Niflheim.netcdf4.4.1.2.sh

 . fys.build.netcdf4.4.1.2.sh

# older builds
#
 . fys.set.Niflheim.gfortran.4.1.2.sh
 . fys.set.Niflheim.netcdf4.4.0.1.sh

 . fys.build.netcdf4.4.0.1.sh

 #
 . fys.set.Niflheim.gfortran43.4.3.2.sh
 . fys.set.Niflheim.netcdf4.4.0.1.sh

 . fys.build.netcdf4.4.0.1.sh

 # only on fjorm
 . fys.set.Niflheim.pathscale.3.2.sh
 . fys.set.Niflheim.netcdf4.4.0.1.sh

 . fys.build.netcdf4.4.0.1.sh

 # only on thul
 . fys.set.Niflheim.ifort.11.0.sh
 . fys.set.Niflheim.netcdf4.4.0.1.sh

 . fys.build.netcdf4.4.0.1.sh

 # only on fjorm
 . fys.set.Niflheim.open64.4.2.1.sh
 . fys.set.Niflheim.netcdf4.4.0.1.sh

 . fys.build.netcdf4.4.0.1.sh

 #
 . fys.set.Niflheim.open64.4.2.3.sh
 . fys.set.Niflheim.netcdf4.4.0.1.sh

 . fys.build.netcdf4.4.0.1.sh
 # only on thul
 . fys.set.Niflheim.ifort.11.1.sh
 . fys.set.Niflheim.netcdf4.4.0.1.sh

 . fys.build.netcdf4.4.0.1.sh

etsf_io

ETSF_IO
A library of F90 routines to read/write the ETSF file format has been written. It is called ETSF_IO and available under LGPL.

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.netcdf.default.sh
. fys.set.hdf5.default.sh

(. fys.build.etsf_io.sh)

On Niflheim build the following RPMS:

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh
hdf=none

. fys.build.etsf_io.sh

# Oct 4 2010:  fatal error: gfc_todo: Not Implemented: complex character array constructors
. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh
hdf=none

. fys.build.etsf_io.sh

# Oct 04 2010: tests/group_level failed
. fys.set.Niflheim.open64.4.2.3.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh
hdf=none

. fys.build.etsf_io.sh

# Apr 18 2010: tests/group_level failed
. fys.set.Niflheim.open64.4.2.4.sh
. fys.set.Niflheim.netcdf4.4.1.2.sh
hdf=none

. fys.build.etsf_io.sh

ScientificPython 2.6.2

Warning: version 2.6.2 required by campos-ase2. Later versions are needed by campos-ase3. Note that versions 2.6.2 and >= 2.8 are mutually exclusive if installed in the default "/usr" prefix.

On a custom system build the following RPMS:

. fys.set.ScientificPython.2.6.2.default.sh

(rpm_prefix=/usr && . fys.build.ScientificPython.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.ScientificPython.2.6.2.gfortran.4.1.2.openmpi.1.3.3.numeric.sh

. fys.build.ScientificPython.sh

ScientificPython 2.8 or later

Note that versions 2.6.2 and >= 2.8 are mutually exclusive if installed in the default "/usr" prefix.

Required by campos-ase3.

On a custom system build the following RPMS:

. fys.set.ScientificPython.2.8.default.sh

(rpm_prefix=/usr && . fys.build.ScientificPython.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.ScientificPython.2.8.gfortran.4.1.2.serial_version.only.numpy.sh

. fys.build.ScientificPython.sh

python-docutils

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.docutils.0.5.sh)

On Niflheim build the following RPMS:

. fys.build.docutils.0.5.sh

If using modules:

module load python-docutils

else, if not using the default "/usr" prefix:

. /etc/profile.d/python-docutils.sh

pytz

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.pytz.2008g.sh)

On Niflheim build the following RPMS:

. fys.build.pytz.2008g.sh

If using modules:

module load pytz

else, if not using the default "/usr" prefix:

. /etc/profile.d/pytz.sh

python-dateutil

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.python-dateutil.1.4.1.sh)

On Niflheim build the following RPMS:

. fys.build.python-dateutil.1.4.1.sh

If using modules:

module load python-dateutil

else, if not using the default "/usr" prefix:

. /etc/profile.d/python-dateutil.sh

python-matplotlib

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.python-matplotlib.sh)

On Niflheim build the following RPMS:

module load NUMPY
module load python-docutils
module load pytz
module load python-dateutil

. fys.build.python-matplotlib.1.0.1.sh

campos-ase2

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.ase2.2.3.13.sh)

On Niflheim build the following RPMS:

. fys.build.ase2.2.3.13.sh

fftw2

We use version 2.1.5.

On a custom system build the following RPMS:

. fys.set.fftw2.default.sh

(rpm_prefix=/usr && . fys.build.fftw2.2.1.5.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.gfortran.4.1.2.sh

. fys.build.fftw2.2.1.5.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh

. fys.build.fftw2.2.1.5.sh

#
. fys.set.Niflheim.pathscale.3.2.sh

. fys.build.fftw2.2.1.5.sh

# only on fjorm
. fys.set.Niflheim.open64.4.2.1.sh

. fys.build.fftw2.2.1.5.sh

#
. fys.set.Niflheim.open64.4.2.3.sh

. fys.build.fftw2.2.1.5.sh

#
. fys.set.Niflheim.open64.4.2.4.sh

. fys.build.fftw2.2.1.5.sh

# Note: 24 June 2009: ifort fails to build static fftw2
. fys.set.Niflheim.ifort.11.0.sh

. fys.build.fftw2.2.1.5.sh

campos-dacapo-pseudopotentials

Note this package is not relocatable! campos-dacapo-pseudopotentials

On a custom system build the following RPMS:

(default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.dacapo-pseudopotentials.1.sh)

On Niflheim build the following RPMS:

. fys.build.dacapo-pseudopotentials.1.sh

campos-dacapo-python

Requires campos-ase2.

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.dacapo-python.0.9.4.sh)

On Niflheim build the following RPMS:

. fys.build.dacapo-python.0.9.4.sh

campos-dacapo

Note: fftw version 3 is incompatible with dacapo.

If you build only a serial version add "--without parallel" to the rpmbuild options. Another useful option is "--without default_version" that does not put /etc/profile.d scripts, nor modules under /opt/modulefiles that allows the package to be relocatable.

Warning: currently (9 Oct 2008) packaging of openmpi on FC8/FC9 requires the following link to be made:

ln -s /usr/include/openmpi/1.2.4-gcc/32/mpif-config.h /usr/include/openmpi/1.2.4-gcc/mpif-config.h

Warning: currently (9 Oct 2008) the default build fails for EL4 due to double underlined symbols in the netcdf from ATrpms, however custom build (i.e. with building your own netcdf should work).

On a custom system build the following RPMS:

. fys.set.dacapo.default.sh
. fys.set.atlas.default.sh

(rpm_prefix=/usr && . fys.build.dacapo.sh)

# optional build using netlib blas/lapack
. fys.set.dacapo.default.sh

(rpm_prefix=/usr && . fys.build.dacapo.sh)

On Niflheim build the following RPMS:

#
. fys.set.Niflheim.dacapo.2.7.16.open64.4.2.4.openmpi.1.4.3.acml.4.4.0.acml.4.4.0.fftw2.sh
hdf=none

. fys.build.dacapo.sh

# older builds
#
. fys.set.Niflheim.dacapo.2.7.16.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.fftw2.sh

. fys.build.dacapo.sh

# only on fjorm
. fys.set.Niflheim.dacapo.2.7.16.open64.4.2.1.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.fftw2.sh

. fys.build.dacapo.sh

# only on thul
. fys.set.Niflheim.dacapo.2.7.16.gfortran43.4.3.2.openmpi.1.3.3.mkl.10.1.3.027.mkl.10.1.3.027.mkl.sh

. fys.build.dacapo.sh

# optional
. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.Nilfheim.openmpi.1.3.3.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh
. fys.set.Niflheim.fftw2.2.1.5.sh
. fys.set.blas.default.sh
. fys.set.lapack.acml.sh

. fys.build.dacapo.sh

# optional
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Nilfheim.openmpi.1.3.3.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh
. fys.set.Niflheim.fftw2.2.1.5.sh
. fys.set.blas.acml.4.3.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto.1.26.sh
. fys.set.lapack.acml.sh

. fys.build.dacapo.sh

# optional
. fys.set.Niflheim.open64.4.2.1.sh
. fys.set.Nilfheim.openmpi.1.3.3.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh
. fys.set.Niflheim.fftw2.2.1.5.sh
. fys.set.blas.acml.4.3.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto.1.26.sh
. fys.set.lapack.acml.sh

. fys.build.dacapo.sh

# optional # only on thul # multinode jobs fail
. fys.set.Niflheim.ifort.11.0.sh
. fys.set.Nilfheim.openmpi.1.3.3.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh
. fys.set.Niflheim.mkl.10.1.3.027.sh

. fys.build.dacapo.sh

fftw3

On a custom system build the following RPMS:

. fys.set.fftw3.default.sh

(rpm_prefix=/usr && . fys.build.fftw3.3.2.1.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.gfortran.4.1.2.sh

. fys.build.fftw3.3.2.1.sh
#
. fys.set.Niflheim.gfortran43.4.3.2.sh

. fys.build.fftw3.3.2.1.sh
#
. fys.set.Niflheim.open64.4.2.3.sh

. fys.build.fftw3.3.2.1.sh
#
. fys.set.Niflheim.open64.4.2.4.sh

. fys.build.fftw3.3.2.1.sh
# only on thul
. fys.set.Niflheim.ifort.11.1.sh

. fys.build.fftw3.3.2.1.sh

scipy

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.cblas.2.23.3.sh
. fys.set.fftw3.default.sh
. fys.set.suitesparse.default.sh

(rpm_prefix=/usr && . fys.build.scipy.0.7.0.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.scipy.0.7.0.gfortran.4.1.2.blas.lapack.cblas.2.23.3.sh

. fys.build.scipy.0.7.0.sh

# optional - not tested!
. fys.set.Niflheim.scipy.0.7.0.gfortran.4.1.2.acml.4.0.1.cblas.2.23.3.sh

. fys.build.scipy.0.7.0.sh

povray

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.povray.sh)

On Niflheim build the following RPMS:

. fys.build.povray.sh

babel

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.Babel.0.9.4.sh)

On Niflheim build the following RPMS:

. fys.build.Babel.0.9.4.sh

If using modules:

module load babel

else, if not using the default "/usr" prefix:

. /etc/profile.d/babel.sh

python-jinja2

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.Jinja2.2.1.1.sh)

On Niflheim build the following RPMS:

. fys.build.Jinja2.2.1.1.sh

If using modules:

module load python-jinja2

else, if not using the default "/usr" prefix:

. /etc/profile.d/python-jinja2.sh

python-pygments

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.Pygments.1.0.sh)

On Niflheim build the following RPMS:

. fys.build.Pygments.1.0.sh

If using modules:

module load python-pygments

else, if not using the default "/usr" prefix:

. /etc/profile.d/python-pygments.sh

python-sphinx

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.Sphinx.0.6.1.sh)

On Niflheim build the following RPMS:

. fys.build.Sphinx.0.6.1.sh

If using modules:

module load python-sphinx

else, if not using the default "/usr" prefix:

. /etc/profile.d/python-sphinx.sh

auctex

Build the following RPMS:

cd ~/rpmbuild/SOURCES&& wget http://ftp.gnu.org/pub/gnu/auctex/auctex-11.86.tar.gz
cd ~/rpmbuild/SPECS

rpmbuild -bb auctex.spec

campos-ase3

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.ase3.sh)

On Niflheim build the following RPMS:

module load NUMPY
. fys.build.ase3.sh

Snapshot package is built with, e.g.:

major_version=3
version1=2
version2=0
version_svn=1066
release=${major_version}.${version1}.${version2}.${version_svn}/1${disttag}.python${python_version}
rpmbuild -bb --with major_version=${major_version} --with version1=${version1} --with version2=${version2} --with version_svn=${version_svn} --with keep_install=1 \
             ${modules_usage} --with default_version -with system=${rpm_platform} \
             --with python_version=${python_version} \
             --with prefix=/home/camp/rpmbuild/opt/Intel-Nehalem-el5/campos-ase3/${release} campos-ase3.spec
rm /home/camp/rpmbuild/Intel-Nehalem-el5/RPMS/campos-ase3-${major_version}.${version1}.${version2}.${version_svn}-1${disttag}.python${python_version}.x86_64.rpm
dir=~/Intel-Nehalem-el5/BUILD/campos-ase3-${major_version}.${version1}.${version2}.${version_svn}-1${disttag}.python${python_version}-root
ln -s ${dir}/etc/modulefiles/campos-ase3/${major_version}.${version1}.${version2}.${version_svn}-1${disttag}.python${python_version} \
   ~/Intel-Nehalem-el5/modulefiles.testing/campos-ase3
ln -s ${dir}/home/camp/rpmbuild/opt/Intel-Nehalem-el5/campos-ase3/${major_version}.${version1}.${version2}.${version_svn} ~/opt/Intel-Nehalem-el5/campos-ase3

blacs

BLACS is used by ScaLapack.

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.openmpi.default.sh

(rpm_prefix=/usr && . fys.build.blacs.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.open64.4.2.4.sh
. fys.set.Niflheim.openmpi.1.4.3.sh

. fys.build.blacs.sh

# older builds
#
. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.blacs.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.blacs.sh

#
. fys.set.Niflheim.pathscale.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.blacs.sh

#
. fys.set.Niflheim.open64.4.2.1.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.blacs.sh

#
. fys.set.Niflheim.open64.4.2.3.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.blacs.sh

#
. fys.set.Niflheim.ifort.11.0.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.blacs.sh

#
. fys.set.Niflheim.ifort.11.1.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.blacs.sh

scalapack

SCALAPACK.

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.openmpi.default.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.blacs.1.1.sh

(rpm_prefix=/usr && . fys.build.scalapack.sh)

On Niflheim build the following RPMS:

#
. fys.set.Niflheim.open64.4.2.3.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto2.1.13.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.2.0.1.sh
#
. fys.set.Niflheim.open64.4.2.3.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.2.0.1.sh

# old builds
. fys.set.Niflheim.open64.4.2.4.sh
. fys.set.Niflheim.openmpi.1.4.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

#
. fys.set.Niflheim.open64.4.2.4.sh
. fys.set.Niflheim.openmpi.1.4.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto2.1.13.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

#
. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

#
. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.0.1.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

# old old builds
#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.3.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto2.1.13.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh
#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto.1.26.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.3.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto.1.26.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

#
. fys.set.Niflheim.open64.4.2.1.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.3.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

# only on fjorm
. fys.set.Niflheim.open64.4.2.3.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto.1.26.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh
#
. fys.set.Niflheim.open64.4.2.3.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto2.1.13.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh
#
. fys.set.Niflheim.open64.4.2.3.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.Niflheim.atlas.3.8.3.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

# only on thul
. fys.set.Niflheim.ifort.11.0.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

# only on thul
. fys.set.Niflheim.ifort.11.1.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.1.8.0.sh

PDSYEVRnew

  • PDSYEVRnew ScaLAPACK's new parallel MRRR algorithm for computing eigenpairs of large real symmetric or complex Hermitian matrices.

    On Niflheim build the following RPMS:

    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.3.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh
    
    . fys.build.PDSYEVRnew.sh
    
    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.3.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto.1.26.sh
    . fys.set.Niflheim.blacs.1.1.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh
    
    . fys.build.PDSYEVRnew.sh

campos-gpaw-setups

Note this package is not relocatable!

On a custom system build the following RPMS:

(default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.gpaw-setups.sh)

On Niflheim build the following RPMS:

. fys.build.gpaw-setups.sh

campos-gpaw

On a custom system build the following RPMS:

# March 3 2010: results in "orthogonalization failed" with EPEL's atlas on el5.x64_64 and i386.
. fys.set.gpaw.default.sh
. fys.set.atlas.default.sh

(rpm_prefix=/usr && . fys.build.gpaw.sh)

# optional build using netlib blas/lapack
. fys.set.gpaw.default.sh

(rpm_prefix=/usr && . fys.build.gpaw.sh)

On Niflheim load first the required modules:

module load ASE3
module load campos-gpaw-setups

and build the following RPMS:

. fys.set.Niflheim.gpaw.0.6.5147.open64.4.2.3.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.sh

. fys.build.gpaw.sh

# older builds
#
. fys.set.Niflheim.gpaw.0.6.5147.open64.4.2.4.openmpi.1.4.3.goto2.1.13.acml.4.4.0.sh

. fys.build.gpaw.sh
#
. fys.set.Niflheim.gpaw.0.6.5147.open64.4.2.3.openmpi.1.3.3.goto2.1.13.acml.4.4.0.sh

. fys.build.gpaw.sh
#
. fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.sh

. fys.build.gpaw.sh

# only on fjorm
. fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.goto.1.26.acml.4.4.0.sh

. fys.build.gpaw.sh

Optional builds:

. fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh

. fys.build.gpaw.sh
#
. fys.set.Niflheim.gpaw.0.6.5147.gfortran.4.1.2.openmpi.1.3.3.acml.4.0.1.acml.4.0.1.sh

. fys.build.gpaw.sh

# default gfortran and netlib blas/lapack/scalapack
. fys.set.Niflheim.gpaw.0.6.5147.gfortran.4.1.2.openmpi.1.3.3.acml.4.0.1.acml.4.0.1.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

# latest gfortran and netlib blas/lapack/scalapack
. fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

# atlas - gpaw-test fails for diagonalization on fjorm el5 x86_64 18 Jan 2010
. fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
. fys.set.Niflheim.atlas.3.8.3.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

# atlas - gpaw-test fails for diagonalization on fjorm el5 x86_64 18 Jan 2010
. fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
. fys.set.Niflheim.atlas.3.8.3.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto2.1.13.sh
. fys.set.Niflheim.blacs.1.1.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

# only on fjorm
# note gpaw version 0.6 --with sl_init_second_underscore=1 is necessary for rpmbuild
. fys.set.Niflheim.pathscale.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.0.1.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto.1.26.sh
. fys.set.Niflheim.blacs.1.1.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

# only on fjorm
# note gpaw version 0.6 --with sl_init_second_underscore=1 is necessary for rpmbuild
. fys.set.Niflheim.open64.4.2.1.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.0.1.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto.1.26.sh
. fys.set.Niflheim.blacs.1.1.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

**Note**: open64 compiler fails with::

/usr/bin/ld: /opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1/libmv.a(vcos.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1/libmv.a: could not read symbols: Bad value

# only on fjorm
# note gpaw version 0.6 --with sl_init_second_underscore=1 is necessary for rpmbuild
. fys.set.Niflheim.open64.4.2.3.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto.1.26.sh
. fys.set.Niflheim.blacs.1.1.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

#
# note gpaw version 0.6 --with sl_init_second_underscore=1 is necessary for rpmbuild
. fys.set.Niflheim.open64.4.2.3.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

# only on thul
. fys.set.Niflheim.ifort.11.1.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

# only on thul
. fys.set.Niflheim.ifort.11.0.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.4.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

# only on thul # fails on thul
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.Niflheim.mkl.10.2.4.032.sh

. fys.build.gpaw.sh

# only on thul # fails on thul
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.Niflheim.mkl.10.2.1.017.sh

. fys.build.gpaw.sh

# only on thul # fails on thul
. fys.set.Niflheim.ifort.11.0.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.Niflheim.mkl.10.1.3.027.sh

. fys.build.gpaw.sh

# only on thul # fails on thul
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.Niflheim.mkl.10.1.3.027.sh

. fys.build.gpaw.sh

Asap

On a custom system build the following RPMS:

. fys.set.Asap.default.sh

(rpm_prefix=/usr && . fys.build.Asap.sh)

On Niflheim build the following RPMS:

#
module load ASE3
. fys.set.Niflheim.Asap.3.2.6.open64.4.2.4.openmpi.1.4.3.sh

. fys.build.Asap.sh

#
module load ASE3
. fys.set.Niflheim.Asap.3.2.6.open64.4.2.3.openmpi.1.3.3.sh

. fys.build.Asap.sh

# only on fjorm
module load ASE3
. fys.set.Niflheim.Asap.3.2.6.pathscale.3.2.openmpi.1.3.3.sh

. fys.build.Asap.sh

# only on thul
module load ASE3
module load ifort/11.1-1
. fys.set.Niflheim.Asap.3.2.6.ifort.11.1.openmpi.1.3.3.sh

. fys.build.Asap.sh

abinit

On a custom system build the following RPMS:

(default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.abinit-pseudopotentials.sh)

On Niflheim build the following RPMS:

. fys.build.abinit-pseudopotentials.sh
  • abinit

    abinit is a Density Functional Theory (DFT) package with pseudopotentials and a planewave basis.

    On a custom system build the following RPMS:

    . fys.set.abinit.5.4.4p.default.sh
    . fys.set.atlas.default.sh
    
    (rpm_prefix=/usr && . fys.build.abinit.5.4.4p.sh)

    On Niflheim build the following RPMS:

    . fys.set.Niflheim.abinit.5.4.4p.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.fftw3.sh
    hdf=none
    
    . fys.build.abinit.5.4.4p.sh

siesta

siesta-pseudopotentials-2.tar.gz

  • siesta pseudopotentials

    Build the following RPMS:

    cd ~/rpmbuild/SOURCES&& wget --no-check-certificate \
    "https://wiki.fysik.dtu.dk/niflheim/Cluster_software_-_RPMS?action=AttachFile&do=get&target=siesta-pseudopotentials-2.tar.gz" \
    -O siesta-pseudopotentials-2.tar.gz
    cd ~/rpmbuild/SPECS
    
     rpmbuild -bb ${modules_usage} --with default_version siesta-pseudopotentials.spec
  • siesta

    siesta (Spanish Initiative for Electronic Simulations with Thousands of Atoms) is both a method and its computer program implementation, to perform electronic structure calculations and ab initio molecular dynamics simulations of molecules and solids.

    Build the following RPMS:

    cd ~/rpmbuild/SPECS
    
    major_version=2
    version1=0
    
    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}
    
    rpmbuild --bb  --with major_version=${major_version} --with version1=${version1} \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with netcdf=${netcdf} --with netcdf_includedir=${netcdf_includedir} --with netcdf_libdir=${netcdf_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   --with blacs=${blacs} --with blacsdir=${blacsdir} \
                   --with scalapack=${scalapack} --with scalapackdir=${scalapackdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/siesta${major_version}/${major_version}.${version1}/${release} siesta.spec

espresso

Note this package is not relocatable!

quantum espresso

  • espresso pseudopotentials

    On a custom system build the following RPMS:

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.espresso_pp.sh)

    On Niflheim build the following RPMS:

    . fys.build.espresso_pp.sh
  • espresso

    Note March 04 2010: version 4.0.5 does not compile with gfortran >= 4.4 (?)

    Note March 04 2010: version 4.1.2 results in and "STOP 1" status for tests if EXX is enabled

    On a custom system build the following RPMS:

    . fys.set.espresso.4.1.2.default.sh
    
    (rpm_prefix=/usr && . fys.build.espresso.sh)
    
    #  March 06 2010 fc12, el5 with atlas gives for atom-lsda.in: On entry to DSYGVX parameter number 20 had an illegal value
    . fys.set.espresso.4.1.2.default.sh
    . fys.set.atlas.default.sh
    
    (rpm_prefix=/usr && . fys.build.espresso.sh)

    On Niflheim build the following RPMS:

    # version used with yambo 3.2.1.426M - enable EXX in the spec file!
    . fys.set.Niflheim.espresso.4.0.5.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
    
    . fys.build.espresso.sh
    
    # version 5.0.1
    . fys.set.Niflheim.espresso.5.0.1.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
    . fys.build.espresso.5.sh

yambo

  • yambo

    yambo is a FORTRAN/C code for Many-Body calculations in solid state and molecular physics. Yambo relies on the Kohn-Sham wavefunctions generated by two DFT public codes: abinit, and PWscf. This build creates interfaces to abinit and PWscf.

    On a custom system build the following RPMS:

    . fys.set.yambo.default.sh
    . fys.set.atlas.default.sh
    
    (rpm_prefix=/usr && . fys.build.yambo.sh)

    On Niflheim build the following RPMS:

    # Nov 15 2010: ETSF compilation part fails with "Error: Symbol 'default_tel' at (1) has no IMPLICIT type": see http://www.yambo-code.org/forum/viewtopic.php?f=1&t=266
    . fys.set.Niflheim.yambo.3.2.3.16.gfortran43.4.3.2.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.sh
    hdf=none
    
    . fys.build.yambo.sh
    #
    . fys.set.Niflheim.yambo.3.2.1.448.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
    hdf=none
    
    . fys.build.yambo.sh
    
    # special yambo 3.2.1.426M
    . fys.set.Niflheim.yambo.3.2.1.426M.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
    hdf=none
    
    . fys.build.yambo.sh
  • yambo NON-GPL

    This is a NON-GPL version of yambo.

    On Niflheim build the following RPMS:

    . fys.set.Niflheim.yambo-ngpl.3.2.3.735M.gfortran43.4.3.2.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.sh
    hdf=none
    
    . fys.build.yambo.sh

elk

elk

  • elk species

    Note this package is not relocatable!

    On a custom system build the following RPMS:

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.elk-species.sh)

    On Niflheim build the following RPMS:

    . fys.build.elk-species.sh
  • elk

    On a custom system build the following RPMS:

    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh
    
    (rpm_prefix=/usr && thread_mode=mp && . fys.build.elk.sh)

    On Niflheim build the following RPMS:

    # OpenMP with MPI version
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.3.0_mp.sh
    . fys.set.lapack.acml.sh
    
    (thread_mode=mp && . fys.build.elk.sh)
    
    # OpenMP version
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.blas.acml.4.3.0_mp.sh
    . fys.set.lapack.acml.sh
    
    (thread_mode=mp && . fys.build.elk.sh)
    
    # MPI version
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.4.0.sh
    . fys.set.lapack.acml.sh
    
    (thread_mode=nomp && . fys.build.elk.sh)

vtk

  • cmake

    Build the following RPMS:

    cd ~/rpmbuild/SOURCES&& wget http://www.cmake.org/files/v2.6/cmake-2.6.4.tar.gz
    cd ~/rpmbuild/SOURCES&& wget "http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c Super Stable/1.06.35/xmlrpc-c-1.06.35.tgz"
    cd ~/rpmbuild/SPECS
    
    rpmbuild -bb --with bootstrap --without gui cmake.spec  # install the resulting RPM
    rpmbuild -bb xmlrpc-c.spec # install the resulting RPM
    rpm -e cmake
    rpmbuild -bb --without gui cmake.spec # install the resulting RPM
  • vtkdata

    Build the following RPMS:

    cd ~/rpmbuild/SOURCES&& wget http://www.vtk.org/files/release/5.4/vtkdata-5.4.2.tar.gz
    cd ~/rpmbuild/SPECS
    
    rpmbuild -bb --with version1=4 --with version2=2 ${modules_usage} --with default_version=1 \
             --with prefix=/opt/vtkdata/5.4.2/1${disttag} vtkdata.spec
  • vtk

    Build the following RPMS:

    cd ~/rpmbuild/SOURCES&& wget http://www.vtk.org/files/release/5.4/vtk-5.4.2.tar.gz
    cd ~/rpmbuild/SPECS
    
    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1${disttag_network}.${compiler}.${compiler_version}/bin
    
    rpmbuild -bb   --without qt4 --with version1=4 --with version2=2 \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with python_version=${python_version} \
                   --with prefix=/opt/vtk/5.4.2/1${disttag_network}.${compiler}.${compiler_version}.python${python_version}.openmpi.${openmpi_version} vtk.spec

octopus

  • octopus

    Note March 15 2010: gfortran 4.1.2 on el5: Segmentation fault

    On a custom system build the following RPMS:

    . fys.set.octopus.default.sh
    . fys.set.atlas.default.sh
    
    (rpm_prefix=/usr && . fys.build.octopus.3.2.0.sh)

    On Niflheim build the following RPMS:

    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.netcdf4.4.0.1.sh
    . fys.set.Niflheim.fftw3.3.2.1.sh
    . fys.set.blas.acml.4.3.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.gsl.default.sh
    . fys.set.arpack.default.sh
    
    . fys.build.octopus.3.2.0.sh

TAU

  • pdtoolkit

    Program Database Toolkit is a framework for analyzing source code written in several programming languages and for making rich program knowledge accessible to developers of static and dynamic analysis tools. PDT is required by TAU.

    On a custom system build the following RPMS:

    . fys.set.gfortran.default.sh
    
    (rpm_prefix=/opt/pdtoolkit && . fys.build.pdtoolkit.sh)

    On Niflheim build the following RPMS:

    . fys.set.Niflheim.gfortran.4.1.2.sh
    
    . fys.build.pdtoolkit.sh
    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    
    . fys.build.pdtoolkit.sh
  • tau

    TAU Performance System® is a portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C, C++, Java, Python.

    On a custom system build the following RPMS:

    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh
    
    (rpm_prefix=/opt/tau && . fys.build.tau.sh)

    On Niflheim build the following RPMS:

    pdtoolkit_version=3.15
    
    module purge
    unset PDTROOT
    . fys.set.Niflheim.gfortran.4.1.2.sh
      module load PDTOOLKIT/${pdtoolkit_version}-1.el5.fys.${compiler}.${compiler_version}.python${python_version}
    . fys.set.Niflheim.openmpi.1.3.3.sh
    
    . fys.build.tau.sh
    #
    module purge
    unset PDTROOT
    . fys.set.Niflheim.gfortran43.4.3.2.sh
      module load PDTOOLKIT/${pdtoolkit_version}-1.el5.fys.${compiler}.${compiler_version}.python${python_version}
    . fys.set.Niflheim.openmpi.1.3.3.sh
    
    . fys.build.tau.sh

vasp

Installed with restricted access under vasp UNIX group (needs te be created in advance).

  • vasp potentials

    Download potpaw/potcar.date.tar, potpaw_GGA/potcar.date.tar, and potpaw_PBE/potcar.date.tar to ~/rpmbuild/SOURCES. Create links to the downloaded files so the files are named explicitly with the string date (not the actual dates), for example:

    ls -al ~/rpmbuild/SOURCES/potpaw_*potcar.date.tar
    lrwxrwxrwx 1 rpmbuild campnone   29 Sep 25 17:15 ../SOURCES/potpaw_GGA_potcar.date.tar -> potpaw_GGA/potcar.06Feb03.tar
    lrwxrwxrwx 1 rpmbuild campnone   29 Sep 25 17:14 ../SOURCES/potpaw_PBE_potcar.date.tar -> potpaw_PBE/potcar.05Feb03.tar
    lrwxrwxrwx 1 rpmbuild campnone   25 Sep 25 17:14 ../SOURCES/potpaw_potcar.date.tar -> potpaw/potcar.05Feb03.tar

    Note this package is not relocatable!

    On a custom system build the following RPMS:

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.vasp-potpaw.sh)

    On Niflheim build the following RPMS:

    . fys.build.vasp-potpaw.sh
  • vasp

    vasp. Download vasp.5.X.Y.tar.gz and vasp.5.lib.tar.gz to ~/rpmbuild/SOURCES. Optionally download also vtstcode.tar.gz from http://theory.cm.utexas.edu/vtsttools/download.html.

    On a custom system build the following RPMS:

    # Compile with VASP TST library: http://theory.cm.utexas.edu/vtsttools/downloads/
    hdf=none
    tst=false # or true
    
    . fys.set.vasp.5.2.11.default.sh
    
    (rpm_prefix=/usr && . fys.build.vasp.sh)

    On Niflheim build the following RPMS:

    # gfortran 4.1.2 is the only of our compilers that works! MD 6 Oct 2011
    # Compile with VASP TST library: http://theory.cm.utexas.edu/vtsttools/downloads/
    hdf=none
    tst=false # or true
    
    . fys.set.Niflheim.vasp.5.2.12.gfortran.4.1.2.openmpi.1.3.3.acml.4.0.1.acml.4.0.1.fftw3.sh
    
    . fys.build.vasp.sh
    #
    # 25 Sep 2009: segmentation fault when compiling dipol.f90
    hdf=none
    tst=false # or true
    
    . fys.set.Niflheim.vasp.5.2.2.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.fftw3.sh
    
    . fys.build.vasp.sh
    #
    # 11 May 2010: in dfast.f90"LINCOM" is the name of this program unit, therefore it must not be use associated from module "DFAST".
    hdf=none
    tst=false # or true
    
    . fys.set.Niflheim.vasp.5.2.2.open64.4.2.3.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.fftw3.sh
    
    . fys.build.vasp.sh
    #
    # only on thul
    # 15 Feb 2011; 6 Oct 2011: forrtl: severe (174): SIGSEGV, segmentation fault occurred during DAV
    hdf=none
    tst=false # or true
    
    . fys.set.Niflheim.vasp.5.2.12.ifort.11.1.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.fftw3.sh
    
    . fys.build.vasp.sh

exciting

  • exciting species

    Note this package is not relocatable!

    On a custom system build the following RPMS:

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.exciting-species.9.10.sh)

    On Niflheim build the following RPMS:

    . fys.build.exciting-species.9.10.sh
  • exciting

    Note: currently (24 Nov 2009) perl-XML-SAX-0.14-5 is broken https://bugzilla.redhat.com/show_bug.cgi?id=438291 on EL5; if exciting's tests complain about:

    could not find ParserDetails.ini

    do as root:

    perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"

    On a custom system build the following RPMS:

    # March 12 2010: build fails on el5 with gfortran 4.1.2 and 4.3.2
    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh
    . fys.set.arpack.default.sh
    . fys.set.atlas.default.sh
    
    (rpm_prefix=/usr && thread_mode=nomp && . fys.build.exciting.9.10.sh)
    
    # March 12 2010: build fails on el5 with gfortran 4.1.2 and 4.3.2
    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh
    . fys.set.arpack.default.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh
    
    (rpm_prefix=/usr && thread_mode=nomp && . fys.build.exciting.9.10.sh)

    On Niflheim build the following RPMS:

    # only on fjorm
    . fys.set.Niflheim.g95.0.91.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.3.0_mp.sh
    . fys.set.lapack.acml.sh
    
    (thread_mode=mp && . fys.build.exciting.9.10.sh)
    
    # only on thul
    . fys.set.Niflheim.ifort.11.0.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.mkl.10.1.3.027.sh
    
    (thread_mode=nomp && . fys.build.exciting.9.10.sh)

fleur

  • fleur

    fleur. Download the source to ~/rpmbuild/SOURCES.

    On a custom system build the following RPMS:

    . fys.set.fleur.default.sh
    
    (rpm_prefix=/usr && . fys.build.fleur.sh)

    On Niflheim build the following RPMS:

    . fys.set.Niflheim.fleur.v26b.gfortran43.4.3.2.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.sh
    
    . fys.build.fleur.sh
    # only on thul # Sep 04 2010: build fails with forrtl: severe (174): SIGSEGV, segmentation fault occurred
    . fys.set.Niflheim.fleur.v26b.ifort.11.0.openmpi.1.3.3.mkl.10.1.3.027.mkl_lapack.10.1.3.027.sh
    
    . fys.build.fleur.sh

gulp

Installed with restricted access under gulp UNIX group (needs te be created in advance).

  • gulp

    gulp. Download gulp.3.4.source.tar.gz ~/rpmbuild/SOURCES.

    On a custom system build the following RPMS:

    . fys.set.gfortran.default.sh
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh
    
    (rpm_prefix=/usr && thread_mode=mp && . fys.build.gulp.sh)

    On Niflheim build the following RPMS:

    # OpenMP version
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.blas.acml.4.3.0_mp.sh
    . fys.set.lapack.acml.sh
    
    (thread_mode=mp && . fys.build.gulp.sh)

cmr

Computational Materials Repository.

On a custom system build the following RPMS:

(rpm_prefix=/usr && rpmbuild -bb ${default_version_usage} ${modules_usage} cmr.spec)

On Niflheim build the following RPMS:

module load DACAPO
module load GPAW
module unload ASE3
module load ASE3
module load SCIENTIFICPYTHON/2.8

# if needed, create tar file
cd ~/rpmbuild/SOURCES && python cmr_release.py
cd ~/rpmbuild/SPECS
. fys.build.cmr.sh

Testing packages

Note this section is outdated.

Test dacapo installation (as normal user!).

If you use modules:

module load campos-dacapo # fulfill all dependencies requested by module
ulimit -s 500000 # dacapo needs a large stack

Test with (make sure that /scratch/$USER exists):

cp -r `rpm -ql campos-dacapo-python | grep "share/campos-dacapo-python$"` /tmp
cd /tmp/campos-dacapo-python/Tests
python test.py 2>&1 | tee test.log

It can take up to 1 day. Please consider disabling these "long" tests in test.py:

tests.remove('../Examples/Wannier-ethylene.py')
tests.remove('../Examples/Wannier-Pt4.py')
tests.remove('../Examples/Wannier-Ptwire.py')
tests.remove('../Examples/Wannier-Fe-bcc.py')
tests.remove('../Examples/transport_1dmodel.py')

Note all vtk related tests will fail.

Test gpaw installation (as normal user!):

If you use modules:

module load campos-gpaw # fulfill all dependencies requested by module

Test with:

cp -r `rpm -ql campos-gpaw | grep "share/campos-gpaw/test$"` /tmp/test.gpaw.$$
cd /tmp/test.gpaw.*
python test.py 2>&1 | tee test.log

It takes about 20 minutes.

Niflheim: Cluster_software_-_RPMS (last edited 2015-07-02 11:28:20 by OleHolmNielsen)