Differences between revisions 281 and 523 (spanning 242 versions)
Revision 281 as of 2010-03-04 08:03:44
Size: 98063
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 52: Line 137:
    svn co https://svn.fysik.dtu.dk/projects/rpmbuild/trunk rpmbuild

- call the rpmbuild environment configuration script from `~/.bashrc`:
    svn co https://svn.fysik.dtu.dk/projects/rpmbuild/trunk ~/rpmbuild

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

   **Note**: if installing on a system different than el5 edit the `rpm_platform` and `egg_info` variables.
Line 86: Line 173:
- as rpmbuild create directories:: - create directories::
Line 99: Line 186:
   yumdownloader --resolve texlive-latex emacs-auctex tex-preview    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
Line 102: Line 194:
   yumdownloader --resolve gcc-gfortran blas-devel lapack-devel python-devel    yumdownloader --resolve gcc-gfortran blas-devel lapack-devel python-devel python-sphinx
Line 107: 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 134: 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 145: 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 160: 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 174: 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 207: 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 209: 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 221: 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 249: 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 265: 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 270: 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 273: Line 438:
  export mkl=10.1.3.027   export mkl=10.3.3.174
Line 276: 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 279: 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 288: 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 290: Line 458:
  ln -s ${mkl}-1.${disttag}.em64t 10.1p-027   ln -s ${mkl}-1${disttag}.em64t 10.1p-027
Line 295: 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 312: 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 317: 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 322: 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 326: 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 332: 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 346: Line 522:
  **Note** this package is **not** relocatable!
Line 352: Line 530:
Line 355: Line 532:
    . fys.build.acml.sh
Line 357: Line 535:
Line 360: Line 537:
    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.build.acml.sh
#
    . fys.set.Niflheim.gfortran43.4.3.2.sh
Line 365: Line 542:
    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.build.acml.sh
#
    . fys.set.Niflheim.gfortran43.4.3.2.sh
Line 370: Line 547:
    #
    . fys.set.Niflheim.open64.4.2.1.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.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 409: 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 416: 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::
Line 420: Line 619:
    . 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
Line 423: Line 644:
    blas_version=1.26
Line 428: Line 650:
    blas_version=1.26
Line 432: Line 655:
    blas_version=1.26
Line 433: Line 657:

    . fys.build.goto.sh
    #
    blas_version=1.26
    . fys.set.Niflheim.open64.4.2.3.sh
Line 443: Line 672:
  Build the following RPMS::
  **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
Line 450: Line 688:
    blas_version=3.8.3
Line 467: Line 706:
  Build the following RPMS::   On a custom system build the following RPMS::

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

  On Niflheim build the following RPMS::
Line 481: Line 724:
    . fys.build.cblas.sh     (rpm_prefix=/usr && . fys.build.cblas.sh)
Line 493: Line 736:
  Build the following RPMS::   On a custom system build the following RPMS::

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

  On Niflheim build the following RPMS::
Line 501: Line 748:
  else::   else, if not using the default "/usr" prefix::
Line 508: Line 755:
  Build the following RPMS::   On a custom system build the following RPMS::

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

  On Niflheim build the following RPMS::
Line 516: Line 767:
  else::   else, if not using the default "/usr" prefix::
Line 530: Line 781:
    . fys.build.numpy.1.3.0.sh

  On Niflheim build the following RPMS::
     (rpm_prefix=/usr && . fys.build.numpy.1.3.0.sh)

  On Niflheim build the following RPMS::

     module load python-setuptools
     module load python-nose
Line 552: Line 806:
      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}
      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}
Line 558: Line 812:
  - else, if not using the default "/usr" prefix::

      . /etc/profile.d/numpy.sh
Line 563: Line 821:
  Build the following RPMS::   On a custom system build the following RPMS::

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

  On Niflheim build the following RPMS::
Line 571: Line 833:
  else::   else, if not using the default "/usr" prefix::
Line 612: Line 874:
      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}
      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}
Line 616: Line 878:
      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`
      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`
Line 630: Line 892:
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 644: Line 960:
    . fys.build.netcdf4.4.0.1.sh

  On Niflheim build the following RPMS::
    (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
    #
Line 677: Line 1001:
     #
     . 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
Line 681: Line 1061:
  **Note** that versions 2.6.2 and >= 2.8 are mutually exclusive if installed in the default "/usr" prefix.
Line 686: Line 1067:
    . fys.build.ScientificPython.sh     (rpm_prefix=/usr && . fys.build.ScientificPython.sh)
Line 697: Line 1078:
  **Note** that versions 2.6.2 and >= 2.8 are mutually exclusive if installed in the default "/usr" prefix.
Line 703: Line 1086:
    . fys.build.ScientificPython.sh     (rpm_prefix=/usr && . fys.build.ScientificPython.sh)
Line 714: Line 1097:
  Build the following RPMS::  On a custom system build the following RPMS::

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

 On Niflheim build the following RPMS::
Line 718: Line 1105:
  If using modules::  If using modules::
Line 722: Line 1109:
  else::  else, if not using the default "/usr" prefix::
Line 729: Line 1116:
  Build the following RPMS::  On a custom system build the following RPMS::

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

 On Niflheim build the following RPMS::
Line 733: Line 1124:
  If using modules::  If using modules::
Line 737: Line 1128:
  else::  else, if not using the default "/usr" prefix::
Line 744: Line 1135:
  Build the following RPMS::  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::
Line 748: Line 1143:
  If using modules::  If using modules::
Line 752: Line 1147:
  else::  else, if not using the default "/usr" prefix::
Line 759: Line 1154:
  On a custom system build the following RPMS::

    . fys.build.python-matplotlib.0.99.1.2.sh
 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
Line 766: Line 1170:
  Build the following RPMS::  On a custom system build the following RPMS::

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

 On Niflheim build the following RPMS::
Line 779: Line 1187:
    . fys.build.fftw2.2.1.5.sh     (rpm_prefix=/usr && . fys.build.fftw2.2.1.5.sh)
Line 802: Line 1210:
    #
    . 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 810: 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::
  **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::
Line 823: Line 1245:
  Build the following RPMS::   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::
Line 830: Line 1256:
  Note that FC's fftw version 3 is incompatible with `dacapo`.   **Note**: fftw version 3 is incompatible with `dacapo`.
Line 846: Line 1272:
    . 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
Line 849: Line 1289:
    # optional build using atlas
    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh
    . fys.set.netcdf.default.sh
    . fys.set.fftw2.default.sh
    . fys.set.atlas.default.sh
    . fys.set.dacapo.default.sh

    . fys.build.dacapo.sh

  On Niflheim build the following RPMS::
    # older builds
    #
Line 924: Line 1354:
    (rpm_prefix=/usr && . fys.build.fftw3.3.2.1.sh)

  On Niflheim build the following RPMS::

    . fys.set.Niflheim.gfortran.4.1.2.sh
Line 925: Line 1361:

On Niflheim build the following RPMS::

    . fys.set.Niflheim.gfortran.4.1.2.sh
    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
Line 931: Line 1365:

#
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    #
    . fys.set.Niflheim.open64.4.2.3.sh
Line 936: Line 1369:

- scipy
    #
    . 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
-----
Line 944: Line 1386:
    . fys.set.Niflheim.cblas.2.23.3.sh
Line 945: Line 1388:
    . fys.set.Niflheim.cblas.2.23.3.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
Line 949: Line 1398:
  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
    # 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 963: Line 1406:
  Build the following RPMS::   On a custom system build the following RPMS::

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

  On Niflheim build the following RPMS::
Line 970: Line 1417:
  Build the following RPMS::   On a custom system build the following RPMS::

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

  On Niflheim build the following RPMS::
Line 978: Line 1429:
  else::   else, if not using the default "/usr" prefix::
Line 985: Line 1436:
  Build the following RPMS::   On a custom system build the following RPMS::

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

  On Niflheim build the following RPMS::
Line 993: Line 1448:
  else::   else, if not using the default "/usr" prefix::
Line 1000: Line 1455:
  Build the following RPMS::   On a custom system build the following RPMS::

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

  On Niflheim build the following RPMS::
Line 1008: Line 1467:
  else::   else, if not using the default "/usr" prefix::
Line 1015: Line 1474:
  Build the following RPMS::   On a custom system build the following RPMS::

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

  On Niflheim build the following RPMS::
Line 1023: Line 1486:
  else::   else, if not using the default "/usr" prefix::
Line 1032: 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 1040: Line 1503:
  Build the following RPMS::

    . fys.build.ase3.3.1.1390.sh
  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 1050: 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 1055: 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 1071: Line 1539:
    (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
Line 1073: Line 1548:
 On Niflheim build the following RPMS::
    # older builds
    #
Line 1094: Line 1569:
    . 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
Line 1111: Line 1604:
    . fys.build.scalapack.sh     (rpm_prefix=/usr && . fys.build.scalapack.sh)
Line 1115: Line 1608:
    #
    . 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

    #
Line 1121: Line 1652:
    . fys.build.scalapack.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
Line 1130: Line 1670:
    . fys.build.scalapack.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
Line 1139: Line 1689:
    . fys.build.scalapack.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
Line 1147: Line 1716:
    . fys.set.lapack.acml.sh
Line 1150: Line 1718:
    . fys.build.scalapack.sh     . fys.build.scalapack.1.8.0.sh
Line 1159: Line 1727:
    . fys.build.scalapack.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
Line 1167: Line 1762:
    . fys.build.scalapack.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 1201: Line 1814:
  Build the following RPMS::

    . fys.build.gpaw-setups.0.5.3574.sh
  **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 1210: Line 1829:
    # March 3 2010: results in "orthogonalization failed" with EPEL's atlas on el5.x64_64 and i386.
Line 1211: Line 1831:
    . 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
Line 1214: Line 1851:
    # optional build using atlas: March 3 2010: results in "orthogonalization failed" with EPEL's atlas on el5.x64_64
    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh
    . fys.set.atlas.default.sh
    blacs=none
    scalapack=none
    # 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
Line 1222: Line 1856:

  On Niflheim build the following RPMS::
    #
    . 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::
Line 1228: Line 1875:

    #
    #
    . 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
Line 1231: Line 1890:
    . fys.set.blas.default.sh
    . fys.set.lapack.default.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh
Line 1234: Line 1896:
    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

  Optional builds::

    # 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
    # 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 1473: 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 1485: 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 1546: Line 2060:
.. _abinit-pseudopotentials-1.tar.gz: attachment:abinit-pseudopotentials-1.tar.gz

abinit-pseudopotentials-1.tar.gz_
Line 1552: 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 1565: 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 1644: 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 1647: 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 1651: 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 1653: 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 1673: Line 2162:
  **Note** this package is **not** relocatable!

`quantum espresso <http://www.quantum-espresso.org/>`_
Line 1675: 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 1684: 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 1737: 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 1785: Line 2254:
`elk <http://elk.sourceforge.net/>`_
Line 1787: 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 1801: 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 1903: 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 1917: 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 1929: 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 1936: 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 1989: 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 2024: 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 2089: 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 2097: 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 2107: Line 2473:
    hdf=none
Line 2109: 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 2189: 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 2211: 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 2279: 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 2380: 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 2428: 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)