summaryrefslogtreecommitdiff
path: root/lib/spack/docs/tutorial_sc16_spack_basics.rst
diff options
context:
space:
mode:
Diffstat (limited to 'lib/spack/docs/tutorial_sc16_spack_basics.rst')
-rw-r--r--lib/spack/docs/tutorial_sc16_spack_basics.rst1255
1 files changed, 0 insertions, 1255 deletions
diff --git a/lib/spack/docs/tutorial_sc16_spack_basics.rst b/lib/spack/docs/tutorial_sc16_spack_basics.rst
deleted file mode 100644
index 9511907ceb..0000000000
--- a/lib/spack/docs/tutorial_sc16_spack_basics.rst
+++ /dev/null
@@ -1,1255 +0,0 @@
-.. _basics-tutorial:
-
-=========================================
-Basic Installation Tutorial
-=========================================
-
-This tutorial will guide you through the process of installing software
-using Spack. We will first cover the `spack install` command, focusing on
-the power of the spec syntax and the flexibility it gives to users. We
-will also cover the `spack find` command for viewing installed packages
-and the `spack uninstall` command. Finally, we will touch on how Spack
-manages compilers, especially as it relates to using Spack-built
-compilers within Spack. We will include full output from all of the
-commands demonstrated, although we will frequently call attention to only
-small portions of that output (or merely to the fact that it
-succeeded). The provided output is all from a cluster running Red Hat
-Enterprise Linux.
-
-.. _basics-tutorial-install:
-
-----------------
-Installing Spack
-----------------
-
-Spack works out of the box. Simply clone spack and get going.
-
-.. code-block:: console
-
- $ git clone https://github.com/LLNL/spack.git
- Initialized empty Git repository in ~/spack/.git/
- remote: Counting objects: 47125, done.
- remote: Compressing objects: 100% (68/68), done.
- remote: Total 47125 (delta 16), reused 2 (delta 2), pack-reused 47047
- Receiving objects: 100% (47125/47125), 12.02 MiB | 2.11 MiB/s, done.
- Resolving deltas: 100% (23044/23044), done.
- $ cd spack
-
-Then add Spack to your path.
-
-.. code-block:: console
-
- $ export PATH=~/spack/bin:$PATH
-
-You're good to go!
-
------------------
-What is in Spack?
------------------
-
-The ``spack list`` command shows available packages.
-
-.. code-block:: console
-
- $ spack list
- ==> 1016 packages.
- abinit hwloc piranha r-rjava
- ack hydra pixman r-rjson
- activeharmony hypre pkg-config r-rjsonio
- ...
-
-The ``spack list`` command can also take a query string. Spack
-automatically adds wildcards to both ends of the string. For example,
-we can view all available python packages.
-
-.. code-block:: console
-
- $ spack list py
- ==> 129 packages.
- py-3to2 py-epydoc py-nestle py-pycparser py-six
- py-alabaster py-flake8 py-netcdf py-pydatalog py-sncosmo
- py-argcomplete py-funcsigs py-networkx py-pyelftools py-snowballstemmer
- ...
-
--------------------
-Installing Packages
--------------------
-
-Installing a package with Spack is very simple. To install a piece of
-software, simply type ``spack install <package_name>``
-
-.. code-block:: console
-
- $ spack install libelf
- ==> Installing libelf
- ==> Trying to fetch from ~/spack/var/spack/cache/libelf/libelf-0.8.13.tar.gz
- curl: (37) Couldn't open file ~/spack/var/spack/cache/libelf/libelf-0.8.13.tar.gz
- ==> Fetching from ~/spack/var/spack/cache/libelf/libelf-0.8.13.tar.gz failed.
- ==> Trying to fetch from http://www.mr511.de/software/libelf-0.8.13.tar.gz
- ################################################################################################################################################################################# 100.0%
- ==> Staging archive: ~/spack/var/spack/stage/libelf-0.8.13-csrt4qxfkhjgn5xg3zjpkir7xdnszl2a/libelf-0.8.13.tar.gz
- ==> Created stage in ~/spack/var/spack/stage/libelf-0.8.13-csrt4qxfkhjgn5xg3zjpkir7xdnszl2a
- ==> No patches needed for libelf
- ==> Building libelf [Package]
- ==> Executing phase : 'install'
- ==> Successfully installed libelf
- Fetch: 1.21s. Build: 8.42s. Total: 9.62s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libelf-0.8.13-csrt4qxfkhjgn5xg3zjpkir7xdnszl2a
-
-
-Spack's spec syntax is the interface by which we can request specific
-configurations of the package. The ``%`` sigil is used to specify
-compilers.
-
-.. code-block:: console
-
- $ spack install libelf %intel
- ==> Installing libelf
- ==> Trying to fetch from ~/spack/var/spack/cache/libelf/libelf-0.8.13.tar.gz
- ################################################################################################################################################################################# 100.0%
- ==> Staging archive: ~/spack/var/spack/stage/libelf-0.8.13-7wgp32xksatkvw2tbssmehw2t5tnxndj/libelf-0.8.13.tar.gz
- ==> Created stage in ~/spack/var/spack/stage/libelf-0.8.13-7wgp32xksatkvw2tbssmehw2t5tnxndj
- ==> No patches needed for libelf
- ==> Building libelf [Package]
- ==> Executing phase : 'install'
- ==> Successfully installed libelf
- Fetch: 0.09s. Build: 50.64s. Total: 50.72s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/intel-16.0.3/libelf-0.8.13-7wgp32xksatkvw2tbssmehw2t5tnxndj
-
-Note that this installation is located separately from the previous
-one. We will discuss this in more detail later, but this is part of what
-allows Spack to support arbitrarily versioned software.
-
-You can check for particular versions before requesting them. We will
-use the ``spack versions`` command to see the available versions, and then
-install a different version of ``libelf``.
-
-.. code-block:: console
-
- $ spack versions libelf
- ==> Safe versions (already checksummed):
- 0.8.13
- 0.8.12
- ==> Remote versions (not yet checksummed):
- 0.8.11
- 0.8.10
- 0.8.9
- 0.8.8
- 0.8.7
- 0.8.6
- 0.8.5
- 0.8.4
- 0.8.3
- 0.8.2
- 0.8.0
- 0.7.0
- 0.6.4
- 0.5.2
-
-
-The ``@`` sigil is used to specify versions, both of packages and of
-compilers.
-
-.. code-block:: console
-
- $ spack install libelf @0.8.12
- ==> Installing libelf
- ==> Trying to fetch from ~/spack/var/spack/cache/libelf/libelf-0.8.12.tar.gz
- curl: (37) Couldn't open file ~/spack/var/spack/cache/libelf/libelf-0.8.12.tar.gz
- ==> Fetching from ~/spack/var/spack/cache/libelf/libelf-0.8.12.tar.gz failed.
- ==> Trying to fetch from http://www.mr511.de/software/libelf-0.8.12.tar.gz
- ################################################################################################################################################################################# 100.0%
- ==> Staging archive: ~/spack/var/spack/stage/libelf-0.8.12-ipggckv6i7h44iryzfa4dwdela32a7fy/libelf-0.8.12.tar.gz
- ==> Created stage in ~/spack/var/spack/stage/libelf-0.8.12-ipggckv6i7h44iryzfa4dwdela32a7fy
- ==> No patches needed for libelf
- ==> Building libelf [Package]
- ==> Executing phase : 'install'
- ==> Successfully installed libelf
- Fetch: 1.12s. Build: 7.88s. Total: 9.00s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libelf-0.8.12-ipggckv6i7h44iryzfa4dwdela32a7fy
-
-
-
- $ spack install libelf %intel@15.0.4
- ==> Installing libelf
- ==> Trying to fetch from ~/spack/var/spack/cache/libelf/libelf-0.8.13.tar.gz
- ################################################################################################################################################################################# 100.0%
- ==> Staging archive: ~/spack/var/spack/stage/libelf-0.8.13-w33hrejdyqu2j2gggdswitls2zv6kdsi/libelf-0.8.13.tar.gz
- ==> Created stage in ~/spack/var/spack/stage/libelf-0.8.13-w33hrejdyqu2j2gggdswitls2zv6kdsi
- ==> No patches needed for libelf
- ==> Building libelf [Package]
- ==> Executing phase : 'install'
- ==> Successfully installed libelf
- Fetch: 0.09s. Build: 55.51s. Total: 55.60s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/intel-15.0.4/libelf-0.8.13-w33hrejdyqu2j2gggdswitls2zv6kdsi
-
-
-The spec syntax also includes compiler flags. Spack accepts
-``cppflags``, ``cflags``, ``cxxflags``, ``fflags``, ``ldflags``, and
-``ldlibs`` parameters. The values of these fields must be quoted on
-the command line if they include spaces. These values are injected
-into the compile line automatically by the Spack compiler wrappers.
-
-.. code-block:: console
-
- $ spack install libelf @0.8.12 cppflags="-O3"
- ==> Installing libelf
- ==> Trying to fetch from ~/spack/var/spack/cache/libelf/libelf-0.8.12.tar.gz
- ################################################################################################################################################################################# 100.0%
- ==> Staging archive: ~/spack/var/spack/stage/libelf-0.8.12-vrv2ttbd34xlfoxy4jwt6qsjrcbalmmw/libelf-0.8.12.tar.gz
- ==> Created stage in ~/spack/var/spack/stage/libelf-0.8.12-vrv2ttbd34xlfoxy4jwt6qsjrcbalmmw
- ==> No patches needed for libelf
- ==> Building libelf [Package]
- ==> Executing phase : 'install'
- ==> Successfully installed libelf
- Fetch: 0.04s. Build: 7.95s. Total: 7.99s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libelf-0.8.12-vrv2ttbd34xlfoxy4jwt6qsjrcbalmmw
-
-
-The ``spack find`` command is used to query installed packages. Note that
-some packages appear identical with the default output. The ``-l`` flag
-shows the hash of each package, and the ``-f`` flag shows any non-empty
-compiler flags of those packages.
-
-.. code-block:: console
-
- $ spack find
- ==> 5 installed packages.
- -- linux-redhat6-x86_64 / gcc@4.4.7 -----------------------------
- libelf@0.8.12
- libelf@0.8.12
- libelf@0.8.13
-
- -- linux-redhat6-x86_64 / intel@15.0.4 --------------------------
- libelf@0.8.13
-
- -- linux-redhat6-x86_64 / intel@16.0.3 --------------------------
- libelf@0.8.13
-
-
-
- $ spack find -lf
- ==> 5 installed packages.
- -- linux-redhat6-x86_64 / gcc@4.4.7 -----------------------------
- ipggckv libelf@0.8.12%gcc
-
- vrv2ttb libelf@0.8.12%gcc cppflags="-O3"
-
- csrt4qx libelf@0.8.13%gcc
-
-
- -- linux-redhat6-x86_64 / intel@15.0.4 --------------------------
- w33hrej libelf@0.8.13%intel
-
-
- -- linux-redhat6-x86_64 / intel@16.0.3 --------------------------
- 7wgp32x libelf@0.8.13%intel
-
-
-Spack generates a hash for each spec. This hash is a function of the full
-provenance of the package, so any change to the spec affects the
-hash. Spack uses this value to compare specs and to generate unique
-installation directories for every combinatorial version. As we move into
-more complicated packages with software dependencies, we can see that
-Spack reuses existing packages to satisfy a dependency only when the
-existing package's hash matches the desired spec.
-
-.. code-block:: console
-
- $ spack install libdwarf
- ==> Installing libdwarf
- ==> libelf is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libelf-0.8.13-csrt4qxfkhjgn5xg3zjpkir7xdnszl2a
- ==> Can not find version 20160507 in url_list
- ==> Trying to fetch from ~/spack/var/spack/cache/libdwarf/libdwarf-20160507.tar.gz
- curl: (37) Couldn't open file ~/spack/var/spack/cache/libdwarf/libdwarf-20160507.tar.gz
- ==> Fetching from ~/spack/var/spack/cache/libdwarf/libdwarf-20160507.tar.gz failed.
- ==> Trying to fetch from http://www.prevanders.net/libdwarf-20160507.tar.gz
- ################################################################################################################################################################################# 100.0%
- ==> Staging archive: ~/spack/var/spack/stage/libdwarf-20160507-yfx6p3g3rkmqvcqbmtb34o6pln7pqvcz/libdwarf-20160507.tar.gz
- ==> Created stage in ~/spack/var/spack/stage/libdwarf-20160507-yfx6p3g3rkmqvcqbmtb34o6pln7pqvcz
- ==> No patches needed for libdwarf
- ==> Building libdwarf [Package]
- ==> Executing phase : 'install'
- ==> Successfully installed libdwarf
- Fetch: 1.56s. Build: 33.59s. Total: 35.15s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libdwarf-20160507-yfx6p3g3rkmqvcqbmtb34o6pln7pqvcz
-
-
-Dependencies can be explicitly requested using the ``^`` sigil. Note that
-the spec syntax is recursive. Anything we could specify about the
-top-level package, we can also specify about a dependency using ``^``.
-
-.. code-block:: console
-
- $ spack install libdwarf ^libelf @0.8.12 %intel
- ==> Installing libdwarf
- ==> Installing libelf
- ==> Trying to fetch from ~/spack/var/spack/cache/libelf/libelf-0.8.12.tar.gz
- ################################################################################################################################################################################# 100.0%
- ==> Staging archive: ~/spack/var/spack/stage/libelf-0.8.12-4blbe3qxqct3ymrfoxxnxysmybvbxay7/libelf-0.8.12.tar.gz
- ==> Created stage in ~/spack/var/spack/stage/libelf-0.8.12-4blbe3qxqct3ymrfoxxnxysmybvbxay7
- ==> No patches needed for libelf
- ==> Building libelf [Package]
- ==> Executing phase : 'install'
- ==> Successfully installed libelf
- Fetch: 0.04s. Build: 52.16s. Total: 52.19s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/intel-16.0.3/libelf-0.8.12-4blbe3qxqct3ymrfoxxnxysmybvbxay7
- ==> Can not find version 20160507 in url_list
- ==> Trying to fetch from ~/spack/var/spack/cache/libdwarf/libdwarf-20160507.tar.gz
- ################################################################################################################################################################################# 100.0%
- ==> Staging archive: ~/spack/var/spack/stage/libdwarf-20160507-csruprgucaujkfkrcywhwou7nbeis5fo/libdwarf-20160507.tar.gz
- ==> Created stage in ~/spack/var/spack/stage/libdwarf-20160507-csruprgucaujkfkrcywhwou7nbeis5fo
- ==> No patches needed for libdwarf
- ==> Building libdwarf [Package]
- ==> Executing phase : 'install'
- ==> Successfully installed libdwarf
- Fetch: 0.40s. Build: 2m 17.29s. Total: 2m 17.69s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/intel-16.0.3/libdwarf-20160507-csruprgucaujkfkrcywhwou7nbeis5fo
-
-
-Packages can also be referred to from the command line by their package
-hash. Using the ``spack find -lf`` command earlier we saw that the hash
-of our optimized installation of libelf (``cppflags="-O3"``) began with
-``vrv2ttb``. We can now explicitly build with that package without typing
-the entire spec, by using the ``/`` sigil to refer to it by hash. As with
-other tools like git, you do not need to specify an *entire* hash on the
-command line. You can specify just enough digits to identify a hash
-uniquely. If a hash prefix is ambiguous (i.e., two or more installed
-packages share the prefix) then spack will report an error.
-
-.. code-block:: console
-
- $ spack install libdwarf ^/vrv2ttb
- ==> Installing libdwarf
- ==> libelf is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libelf-0.8.12-vrv2ttbd34xlfoxy4jwt6qsjrcbalmmw
- ==> Can not find version 20160507 in url_list
- ==> Trying to fetch from ~/spack/var/spack/cache/libdwarf/libdwarf-20160507.tar.gz
- #################################################################################################################################################################################################################################################### 100.0%
- ==> Staging archive: ~/spack/var/spack/stage/libdwarf-20160507-dtg3tgnp7htccoly26gduqlrgvnwcp5t/libdwarf-20160507.tar.gz
- ==> Created stage in ~/spack/var/spack/stage/libdwarf-20160507-dtg3tgnp7htccoly26gduqlrgvnwcp5t
- ==> No patches needed for libdwarf
- ==> Building libdwarf [Package]
- ==> Executing phase : 'install'
- ==> Successfully installed libdwarf
- Fetch: 0.96s. Build: 24.03s. Total: 24.99s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libdwarf-20160507-dtg3tgnp7htccoly26gduqlrgvnwcp5t
-
-
-The ``spack find`` command can also take a ``-d`` flag, which can show
-dependency information. Note that each package has a top-level entry,
-even if it also appears as a dependency.
-
-.. code-block:: console
-
- $ spack find -ldf
- ==> 9 installed packages.
- -- linux-redhat6-x86_64 / gcc@4.4.7 -----------------------------
- dtg3tgn libdwarf@20160507%gcc
- vrv2ttb ^libelf@0.8.12%gcc cppflags="-O3"
-
- yfx6p3g libdwarf@20160507%gcc
- csrt4qx ^libelf@0.8.13%gcc
-
- ipggckv libelf@0.8.12%gcc
-
- vrv2ttb libelf@0.8.12%gcc cppflags="-O3"
-
- csrt4qx libelf@0.8.13%gcc
-
-
- -- linux-redhat6-x86_64 / intel@15.0.4 --------------------------
- w33hrej libelf@0.8.13%intel
-
-
- -- linux-redhat6-x86_64 / intel@16.0.3 --------------------------
- csruprg libdwarf@20160507%intel
- 4blbe3q ^libelf@0.8.12%intel
-
- 4blbe3q libelf@0.8.12%intel
-
- 7wgp32x libelf@0.8.13%intel
-
-
-As we get to more complex packages, full installs will take too long to
-build in the time allotted for this tutorial. Our collaborators at CERN
-have been working on binary caching for Spack, which would allow for very
-fast installs of previously built packages. We are still working out the
-security ramifications of the feature, but it is coming soon.
-
-For now, we will switch to doing "fake" installs. When supplied with the
-``--fake`` flag (primarily used for debugging), Spack computes build
-metadata the same way it normally would, but it does not download the
-source or run the install script for a pacakge. We can use this to
-quickly demonstrate some of the more advanced Spack features in our
-limited tutorial time.
-
-``HDF5`` is an example of a more complicated package, with an MPI
-dependency. If we install it "out of the box," it will build with
-``openmpi``.
-
-.. code-block:: console
-
- $ spack install --fake hdf5
- ==> Installing hdf5
- ==> Installing zlib
- ==> Building zlib [Package]
- ==> Successfully installed zlib
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/zlib-1.2.8-ayc4jq7vxuzge5n444gutvskeytfdruh
- ==> Installing openmpi
- ==> Installing hwloc
- ==> Installing libpciaccess
- ==> Installing util-macros
- ==> Building util-macros [Package]
- ==> Successfully installed util-macros
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/util-macros-1.19.0-pc6zhs4cnkmg2cv4et4fizsp6scuvacg
- ==> Installing libtool
- ==> Installing m4
- ==> Installing libsigsegv
- ==> Building libsigsegv [Package]
- ==> Successfully installed libsigsegv
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libsigsegv-2.10-q4cok3yber7lhf3jswg6mysg7oi53unh
- ==> Building m4 [Package]
- ==> Successfully installed m4
- Fetch: . Build: 0.23s. Total: 0.23s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/m4-1.4.17-qijdzvhjyybrtwbqm73vykhmkaqro3je
- ==> Building libtool [Package]
- ==> Successfully installed libtool
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libtool-2.4.6-rdx5nkfjwlvcanz5il3ys2pe34j4vxx5
- ==> Installing pkg-config
- ==> Building pkg-config [Package]
- ==> Successfully installed pkg-config
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/pkg-config-0.29.1-wpjnlzahdw6ahkrgmqyeugkj2zhv4tui
- ==> Building libpciaccess [Package]
- ==> Successfully installed libpciaccess
- Fetch: . Build: 0.10s. Total: 0.10s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libpciaccess-0.13.4-m2f6fpm22rpprq2ihkmfx6llf363264m
- ==> Building hwloc [Package]
- ==> Successfully installed hwloc
- Fetch: . Build: 0.23s. Total: 0.23s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/hwloc-1.11.4-xpb6hbl2hsze25cgdgfnoppn6rchhzaz
- ==> Building openmpi [Package]
- ==> Successfully installed openmpi
- Fetch: . Build: 0.35s. Total: 0.35s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openmpi-2.0.1-j4cgoq4furxvr73pq72r2qgywgksw3qn
- ==> Building hdf5 [AutotoolsPackage]
- ==> Successfully installed hdf5
- Fetch: . Build: 0.61s. Total: 0.61s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/hdf5-1.10.0-patch1-ezvtnox35albuaxqryuondweyjgeo6es
-
-
-Spack packages can also have variants. Boolean variants can be specified
-using the ``+`` and ``~`` or ``-`` sigils. There are two sigils for
-``False`` to avoid conflicts with shell parsing in different
-situations. Variants (boolean or otherwise) can also be specified using
-the same syntax as compiler flags. Here we can install HDF5 without MPI
-support.
-
-.. code-block:: console
-
- $ spack install --fake hdf5~mpi
- ==> Installing hdf5
- ==> zlib is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/zlib-1.2.8-ayc4jq7vxuzge5n444gutvskeytfdruh
- ==> Building hdf5 [AutotoolsPackage]
- ==> Successfully installed hdf5
- Fetch: . Build: 0.22s. Total: 0.22s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/hdf5-1.10.0-patch1-twppaioxqn6lti4grgopnmhwcq3h2rpw
-
-
-We might also want to install HDF5 with a different MPI
-implementation. While MPI is not a package itself, packages can depend on
-abstract interfaces like MPI. Spack handles these through "virtual
-dependencies." A package, such as HDF5, can depend on the MPI
-interface. Other packages (``openmpi``, ``mpich``, ``mvapich``, etc.)
-provide the MPI interface. Any of these providers can be requested for
-an MPI dependency. For example, we can build HDF5 with MPI support
-provided by mpich by specifying a dependency on ``mpich``. Spack also
-supports versioning of virtual dependencies. A package can depend on the
-MPI interface at version 3, and provider packages specify what version of
-the interface *they* provide. The partial spec ``^mpi@3`` can be safisfied
-by any of several providers.
-
-.. code-block:: console
-
- $ spack install --fake hdf5+mpi ^mpich
- ==> Installing hdf5
- ==> mpich is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/mpich-3.2-5jlp2ndnsb67txggraglu47vjmayx5za
- ==> zlib is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/zlib-1.2.8-ayc4jq7vxuzge5n444gutvskeytfdruh
- ==> Building hdf5 [AutotoolsPackage]
- ==> Successfully installed hdf5
- Fetch: . Build: 0.38s. Total: 0.38s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/hdf5-1.10.0-patch1-j36yfw25i6gdd3q4vwlupgkpwic4ua6m
-
-
-We'll do a quick check in on what we have installed so far.
-
-.. code-block:: console
-
- $ spack find -ldf
- ==> 22 installed packages.
- -- linux-redhat6-x86_64 / gcc@4.4.7 -----------------------------
- twppaio hdf5@1.10.0-patch1%gcc
- ayc4jq7 ^zlib@1.2.8%gcc
-
- j36yfw2 hdf5@1.10.0-patch1%gcc
- 5jlp2nd ^mpich@3.2%gcc
- ayc4jq7 ^zlib@1.2.8%gcc
-
- ezvtnox hdf5@1.10.0-patch1%gcc
- j4cgoq4 ^openmpi@2.0.1%gcc
- xpb6hbl ^hwloc@1.11.4%gcc
- m2f6fpm ^libpciaccess@0.13.4%gcc
- ayc4jq7 ^zlib@1.2.8%gcc
-
- xpb6hbl hwloc@1.11.4%gcc
- m2f6fpm ^libpciaccess@0.13.4%gcc
-
- dtg3tgn libdwarf@20160507%gcc
- vrv2ttb ^libelf@0.8.12%gcc cppflags="-O3"
-
- yfx6p3g libdwarf@20160507%gcc
- csrt4qx ^libelf@0.8.13%gcc
-
- ipggckv libelf@0.8.12%gcc
-
- vrv2ttb libelf@0.8.12%gcc cppflags="-O3"
-
- csrt4qx libelf@0.8.13%gcc
-
- m2f6fpm libpciaccess@0.13.4%gcc
-
- q4cok3y libsigsegv@2.10%gcc
-
- rdx5nkf libtool@2.4.6%gcc
-
- qijdzvh m4@1.4.17%gcc
- q4cok3y ^libsigsegv@2.10%gcc
-
- 5jlp2nd mpich@3.2%gcc
-
- j4cgoq4 openmpi@2.0.1%gcc
- xpb6hbl ^hwloc@1.11.4%gcc
- m2f6fpm ^libpciaccess@0.13.4%gcc
-
- wpjnlza pkg-config@0.29.1%gcc
-
- pc6zhs4 util-macros@1.19.0%gcc
-
- ayc4jq7 zlib@1.2.8%gcc
-
-
- -- linux-redhat6-x86_64 / intel@15.0.4 --------------------------
- w33hrej libelf@0.8.13%intel
-
-
- -- linux-redhat6-x86_64 / intel@16.0.3 --------------------------
- csruprg libdwarf@20160507%intel
- 4blbe3q ^libelf@0.8.12%intel
-
- 4blbe3q libelf@0.8.12%intel
-
- 7wgp32x libelf@0.8.13%intel
-
-
-Spack models the dependencies of packages as a directed acyclic graph
-(DAG). The ``spack find -d`` command shows the tree representation of
-that graph. We can also use the ``spack graph`` command to view the entire
-DAG as a graph.
-
-.. code-block:: console
-
- $ spack graph hdf5+mpi ^mpich
- o hdf5
- |\
- o | zlib
- /
- o mpich
-
-You may also have noticed that there are some packages shown in the
-``spack find -d`` output that we didn't install explicitly. These are
-dependencies that were installed implicitly. A few packages installed
-implicitly are not shown as dependencies in the ``spack find -d``
-output. These are build dependencies. For example, ``libpciaccess`` is a
-dependency of openmpi and requires m4 to build. Spack will build `m4`` as
-part of the installation of ``openmpi``, but it does not become a part of
-the DAG because it is not linked in at run time. Spack handles build
-dependencies differently because of their different (less strict)
-consistency requirements. It is entirely possible to have two packages
-using different versions of a dependency to build, which obviously cannot
-be done with linked dependencies.
-
-``HDF5`` is more complicated than our basic example of libelf and
-libdwarf, but it's still within the realm of software that an experienced
-HPC user could reasonably expect to install given a bit of time. Now
-let's look at a more complicated package.
-
-.. code-block:: console
-
- $ spack install --fake trilinos
- ==> Installing trilinos
- ==> Installing superlu-dist
- ==> openmpi is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openmpi-2.0.1-j4cgoq4furxvr73pq72r2qgywgksw3qn
- ==> Installing parmetis
- ==> openmpi is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openmpi-2.0.1-j4cgoq4furxvr73pq72r2qgywgksw3qn
- ==> Installing cmake
- ==> Installing bzip2
- ==> Building bzip2 [Package]
- ==> Successfully installed bzip2
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/bzip2-1.0.6-gll2xsahysy7ji5gkmfxwkofdt3mwjhs
- ==> expat is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/expat-2.2.0-mg5kwd3kluxdgorj32vzbp7aksg3vqej
- ==> Installing ncurses
- ==> Building ncurses [Package]
- ==> Successfully installed ncurses
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/ncurses-6.0-fttg4astvrtq2buey4wq66tnyu7bgj2c
- ==> zlib is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/zlib-1.2.8-ayc4jq7vxuzge5n444gutvskeytfdruh
- ==> Installing openssl
- ==> zlib is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/zlib-1.2.8-ayc4jq7vxuzge5n444gutvskeytfdruh
- ==> Building openssl [Package]
- ==> Successfully installed openssl
- Fetch: . Build: 0.23s. Total: 0.23s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openssl-1.0.2j-kt5xyk2dkho6tzadnqlbnbujmljprylg
- ==> Installing libarchive
- ==> Installing lzma
- ==> Building lzma [Package]
- ==> Successfully installed lzma
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/lzma-4.32.7-hah2cdo3zbulz6yg5do6dvnfn6en5v5c
- ==> Installing nettle
- ==> m4 is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/m4-1.4.17-qijdzvhjyybrtwbqm73vykhmkaqro3je
- ==> Installing gmp
- ==> m4 is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/m4-1.4.17-qijdzvhjyybrtwbqm73vykhmkaqro3je
- ==> Building gmp [AutotoolsPackage]
- ==> Successfully installed gmp
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/gmp-6.1.1-uwn4gfdtq3sywy5uf4f7znrh66oybikf
- ==> Building nettle [Package]
- ==> Successfully installed nettle
- Fetch: . Build: 0.18s. Total: 0.18s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/nettle-3.2-w4ieitifcmrldo4ra7as63apagzf56ja
- ==> bzip2 is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/bzip2-1.0.6-gll2xsahysy7ji5gkmfxwkofdt3mwjhs
- ==> expat is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/expat-2.2.0-mg5kwd3kluxdgorj32vzbp7aksg3vqej
- ==> Installing libxml2
- ==> Installing xz
- ==> Building xz [Package]
- ==> Successfully installed xz
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/xz-5.2.2-bxh6cpyqqozazm5okvjqk23sww3gccnf
- ==> zlib is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/zlib-1.2.8-ayc4jq7vxuzge5n444gutvskeytfdruh
- ==> Building libxml2 [Package]
- ==> Successfully installed libxml2
- Fetch: . Build: 0.35s. Total: 0.35s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libxml2-2.9.4-un323rppyu5qipkegyf7flmymvtmunrx
- ==> zlib is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/zlib-1.2.8-ayc4jq7vxuzge5n444gutvskeytfdruh
- ==> Installing lz4
- ==> Building lz4 [Package]
- ==> Successfully installed lz4
- Fetch: . Build: 0.12s. Total: 0.12s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/lz4-131-ivy2fcaw7ywujx74weebdi5bsm7q4vkc
- ==> openssl is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openssl-1.0.2j-kt5xyk2dkho6tzadnqlbnbujmljprylg
- ==> xz is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/xz-5.2.2-bxh6cpyqqozazm5okvjqk23sww3gccnf
- ==> Installing lzo
- ==> Building lzo [AutotoolsPackage]
- ==> Successfully installed lzo
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/lzo-2.09-dlgnm74ozo6baactkft5oah2jre2ri2i
- ==> Building libarchive [Package]
- ==> Successfully installed libarchive
- Fetch: . Build: 1.35s. Total: 1.35s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libarchive-3.2.1-biq3kebw7vel7njusill7vv7mjldkqjv
- ==> xz is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/xz-5.2.2-bxh6cpyqqozazm5okvjqk23sww3gccnf
- ==> Installing curl
- ==> zlib is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/zlib-1.2.8-ayc4jq7vxuzge5n444gutvskeytfdruh
- ==> openssl is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openssl-1.0.2j-kt5xyk2dkho6tzadnqlbnbujmljprylg
- ==> Building curl [Package]
- ==> Successfully installed curl
- Fetch: . Build: 0.36s. Total: 0.36s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/curl-7.50.3-oze4gqutj4x2isbkcn5ob2bhhxbskod4
- ==> Building cmake [Package]
- ==> Successfully installed cmake
- Fetch: . Build: 1.64s. Total: 1.64s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/cmake-3.6.1-n2nkknrku6dvuneo3rjumim7axt7n36e
- ==> Installing metis
- ==> cmake is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/cmake-3.6.1-n2nkknrku6dvuneo3rjumim7axt7n36e
- ==> Building metis [Package]
- ==> Successfully installed metis
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/metis-5.1.0-ithifyl4xvqbn76js23wsb4tjnztrbdv
- ==> Building parmetis [Package]
- ==> Successfully installed parmetis
- Fetch: . Build: 0.62s. Total: 0.62s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/parmetis-4.0.3-rtg6hml5t6acdcnxomn3l5zfiful4d2t
- ==> Installing openblas
- ==> Building openblas [Package]
- ==> Successfully installed openblas
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openblas-0.2.19-bwofa7fhff6od5zn56vy3j4eeyupsqgt
- ==> metis is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/metis-5.1.0-ithifyl4xvqbn76js23wsb4tjnztrbdv
- ==> Building superlu-dist [Package]
- ==> Successfully installed superlu-dist
- Fetch: . Build: 0.85s. Total: 0.85s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/superlu-dist-5.1.1-25r6jlvkpjnkiuwt2rtbzhk3l3htuxs7
- ==> cmake is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/cmake-3.6.1-n2nkknrku6dvuneo3rjumim7axt7n36e
- ==> Installing glm
- ==> cmake is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/cmake-3.6.1-n2nkknrku6dvuneo3rjumim7axt7n36e
- ==> Building glm [Package]
- ==> Successfully installed glm
- Fetch: . Build: 0.12s. Total: 0.12s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/glm-0.9.7.1-7a6oho4aerz7vftxd5ur7lywscht2iry
- ==> Installing hypre
- ==> openmpi is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openmpi-2.0.1-j4cgoq4furxvr73pq72r2qgywgksw3qn
- ==> openblas is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openblas-0.2.19-bwofa7fhff6od5zn56vy3j4eeyupsqgt
- ==> Building hypre [Package]
- ==> Successfully installed hypre
- Fetch: . Build: 0.61s. Total: 0.61s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/hypre-2.11.1-lf7hcejiiww5peesh57quda72z67veit
- ==> metis is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/metis-5.1.0-ithifyl4xvqbn76js23wsb4tjnztrbdv
- ==> Installing netlib-scalapack
- ==> openmpi is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openmpi-2.0.1-j4cgoq4furxvr73pq72r2qgywgksw3qn
- ==> cmake is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/cmake-3.6.1-n2nkknrku6dvuneo3rjumim7axt7n36e
- ==> openblas is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openblas-0.2.19-bwofa7fhff6od5zn56vy3j4eeyupsqgt
- ==> Building netlib-scalapack [Package]
- ==> Successfully installed netlib-scalapack
- Fetch: . Build: 0.61s. Total: 0.61s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/netlib-scalapack-2.0.2-dvcanz2qq4dfcexznbhbmzbxfj43uz4q
- ==> Installing suite-sparse
- ==> Installing tbb
- ==> Building tbb [Package]
- ==> Successfully installed tbb
- Fetch: . Build: 0.12s. Total: 0.12s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/tbb-4.4.4-zawzkkhrmdonbjpj3a5bb6gkgnqlrjeu
- ==> openblas is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openblas-0.2.19-bwofa7fhff6od5zn56vy3j4eeyupsqgt
- ==> metis is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/metis-5.1.0-ithifyl4xvqbn76js23wsb4tjnztrbdv
- ==> Building suite-sparse [Package]
- ==> Successfully installed suite-sparse
- Fetch: . Build: 0.49s. Total: 0.49s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/suite-sparse-4.5.3-lvur6hriy2j7xfjwh5punp3exwpynzm6
- ==> openmpi is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openmpi-2.0.1-j4cgoq4furxvr73pq72r2qgywgksw3qn
- ==> Installing netcdf
- ==> m4 is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/m4-1.4.17-qijdzvhjyybrtwbqm73vykhmkaqro3je
- ==> curl is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/curl-7.50.3-oze4gqutj4x2isbkcn5ob2bhhxbskod4
- ==> zlib is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/zlib-1.2.8-ayc4jq7vxuzge5n444gutvskeytfdruh
- ==> hdf5 is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/hdf5-1.10.0-patch1-ezvtnox35albuaxqryuondweyjgeo6es
- ==> Building netcdf [Package]
- ==> Successfully installed netcdf
- Fetch: . Build: 0.90s. Total: 0.90s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/netcdf-4.4.1-tcl4zbrmdfrit2cqlaxig6xieu5h552j
- ==> Installing mumps
- ==> netlib-scalapack is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/netlib-scalapack-2.0.2-dvcanz2qq4dfcexznbhbmzbxfj43uz4q
- ==> openmpi is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openmpi-2.0.1-j4cgoq4furxvr73pq72r2qgywgksw3qn
- ==> openblas is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openblas-0.2.19-bwofa7fhff6od5zn56vy3j4eeyupsqgt
- ==> Building mumps [Package]
- ==> Successfully installed mumps
- Fetch: . Build: 0.74s. Total: 0.74s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/mumps-5.0.2-kr5r4nnx5tfcacxnk3ii5dsxbe6pu5fy
- ==> Installing matio
- ==> Building matio [Package]
- ==> Successfully installed matio
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/matio-1.5.2-4zrozucookychlvc4q53omp2zyfk2bed
- ==> Installing boost
- ==> bzip2 is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/bzip2-1.0.6-gll2xsahysy7ji5gkmfxwkofdt3mwjhs
- ==> zlib is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/zlib-1.2.8-ayc4jq7vxuzge5n444gutvskeytfdruh
- ==> Building boost [Package]
- ==> Successfully installed boost
- Fetch: . Build: 0.35s. Total: 0.35s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/boost-1.62.0-je7eqvzt74kezwhh55y5lwt5dy6pnali
- ==> parmetis is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/parmetis-4.0.3-rtg6hml5t6acdcnxomn3l5zfiful4d2t
- ==> openblas is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openblas-0.2.19-bwofa7fhff6od5zn56vy3j4eeyupsqgt
- ==> hdf5 is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/hdf5-1.10.0-patch1-ezvtnox35albuaxqryuondweyjgeo6es
- ==> Building trilinos [Package]
- ==> Successfully installed trilinos
- Fetch: . Build: 2.63s. Total: 2.63s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/trilinos-12.8.1-uvd6dfd7x4uyvck4awo3r3frudihn4ar
-
-
-Now we're starting to see the power of Spack. Trilinos has 11 top level
-dependecies, many of which have dependencies of their own. Installing
-more complex packages can take days or weeks even for an experienced
-user. Although we've done a fake installation for the tutorial, a real
-installation of trilinos using Spack takes about 3 hours (depending on
-the system), but only 20 seconds of programmer time.
-
-Spack manages constistency of the entire DAG. Every MPI dependency will
-be satisfied by the same configuration of MPI, etc. If we install
-``trilinos`` again specifying a dependency on our previous HDF5 built
-with ``mpich``:
-
-.. code-block:: console
-
- $ spack install --fake trilinos ^hdf5+mpi ^mpich
- ==> Installing trilinos
- ==> Installing superlu-dist
- ==> mpich is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/mpich-3.2-5jlp2ndnsb67txggraglu47vjmayx5za
- ==> metis is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/metis-5.1.0-ithifyl4xvqbn76js23wsb4tjnztrbdv
- ==> Installing parmetis
- ==> mpich is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/mpich-3.2-5jlp2ndnsb67txggraglu47vjmayx5za
- ==> metis is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/metis-5.1.0-ithifyl4xvqbn76js23wsb4tjnztrbdv
- ==> cmake is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/cmake-3.6.1-n2nkknrku6dvuneo3rjumim7axt7n36e
- ==> Building parmetis [Package]
- ==> Successfully installed parmetis
- Fetch: . Build: 0.38s. Total: 0.38s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/parmetis-4.0.3-43kbtni6p5y446c6qdkybq4htj7ot4zn
- ==> openblas is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openblas-0.2.19-bwofa7fhff6od5zn56vy3j4eeyupsqgt
- ==> Building superlu-dist [Package]
- ==> Successfully installed superlu-dist
- Fetch: . Build: 0.61s. Total: 0.61s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/superlu-dist-5.1.1-46uuupehmonx5jicc6xnegnud2n5jqyl
- ==> cmake is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/cmake-3.6.1-n2nkknrku6dvuneo3rjumim7axt7n36e
- ==> glm is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/glm-0.9.7.1-7a6oho4aerz7vftxd5ur7lywscht2iry
- ==> Installing hypre
- ==> mpich is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/mpich-3.2-5jlp2ndnsb67txggraglu47vjmayx5za
- ==> openblas is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openblas-0.2.19-bwofa7fhff6od5zn56vy3j4eeyupsqgt
- ==> Building hypre [Package]
- ==> Successfully installed hypre
- Fetch: . Build: 0.37s. Total: 0.37s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/hypre-2.11.1-6ajnyymoivs5apajd7thjisae36jv4lz
- ==> metis is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/metis-5.1.0-ithifyl4xvqbn76js23wsb4tjnztrbdv
- ==> Installing netlib-scalapack
- ==> mpich is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/mpich-3.2-5jlp2ndnsb67txggraglu47vjmayx5za
- ==> cmake is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/cmake-3.6.1-n2nkknrku6dvuneo3rjumim7axt7n36e
- ==> openblas is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openblas-0.2.19-bwofa7fhff6od5zn56vy3j4eeyupsqgt
- ==> Building netlib-scalapack [Package]
- ==> Successfully installed netlib-scalapack
- Fetch: . Build: 0.37s. Total: 0.37s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/netlib-scalapack-2.0.2-dayeep27omm26wksd3iqvbu3gezc2eoh
- ==> suite-sparse is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/suite-sparse-4.5.3-lvur6hriy2j7xfjwh5punp3exwpynzm6
- ==> Installing netcdf
- ==> m4 is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/m4-1.4.17-qijdzvhjyybrtwbqm73vykhmkaqro3je
- ==> curl is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/curl-7.50.3-oze4gqutj4x2isbkcn5ob2bhhxbskod4
- ==> zlib is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/zlib-1.2.8-ayc4jq7vxuzge5n444gutvskeytfdruh
- ==> hdf5 is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/hdf5-1.10.0-patch1-j36yfw25i6gdd3q4vwlupgkpwic4ua6m
- ==> Building netcdf [Package]
- ==> Successfully installed netcdf
- Fetch: . Build: 0.67s. Total: 0.67s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/netcdf-4.4.1-gfemi4jk4qltvp33xhtpkam7dozbqvhq
- ==> Installing mumps
- ==> mpich is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/mpich-3.2-5jlp2ndnsb67txggraglu47vjmayx5za
- ==> netlib-scalapack is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/netlib-scalapack-2.0.2-dayeep27omm26wksd3iqvbu3gezc2eoh
- ==> openblas is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openblas-0.2.19-bwofa7fhff6od5zn56vy3j4eeyupsqgt
- ==> Building mumps [Package]
- ==> Successfully installed mumps
- Fetch: . Build: 0.49s. Total: 0.49s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/mumps-5.0.2-w7t5pl3jhhwitfiyer63zj6zv7idkt3m
- ==> mpich is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/mpich-3.2-5jlp2ndnsb67txggraglu47vjmayx5za
- ==> matio is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/matio-1.5.2-4zrozucookychlvc4q53omp2zyfk2bed
- ==> boost is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/boost-1.62.0-je7eqvzt74kezwhh55y5lwt5dy6pnali
- ==> parmetis is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/parmetis-4.0.3-43kbtni6p5y446c6qdkybq4htj7ot4zn
- ==> openblas is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/openblas-0.2.19-bwofa7fhff6od5zn56vy3j4eeyupsqgt
- ==> hdf5 is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/hdf5-1.10.0-patch1-j36yfw25i6gdd3q4vwlupgkpwic4ua6m
- ==> Building trilinos [Package]
- ==> Successfully installed trilinos
- Fetch: . Build: 2.42s. Total: 2.42s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/trilinos-12.8.1-ffwrpxnq7lhiw2abxn2u7ffr4jjsdwep
-
-We see that every package in the trilinos DAG that depends on MPI now
-uses ``mpich``.
-
-.. code-block:: console
-
- $ spack find -d trilinos
- ==> 2 installed packages.
- -- linux-redhat6-x86_64 / gcc@4.4.7 -----------------------------
- trilinos@12.8.1
- ^boost@1.62.0
- ^bzip2@1.0.6
- ^zlib@1.2.8
- ^glm@0.9.7.1
- ^hdf5@1.10.0-patch1
- ^mpich@3.2
- ^hypre@2.11.1
- ^openblas@0.2.19
- ^matio@1.5.2
- ^metis@5.1.0
- ^mumps@5.0.2
- ^netlib-scalapack@2.0.2
- ^netcdf@4.4.1
- ^curl@7.50.3
- ^openssl@1.0.2j
- ^parmetis@4.0.3
- ^suite-sparse@4.5.3
- ^tbb@4.4.4
- ^superlu-dist@5.1.1
-
- trilinos@12.8.1
- ^boost@1.62.0
- ^bzip2@1.0.6
- ^zlib@1.2.8
- ^glm@0.9.7.1
- ^hdf5@1.10.0-patch1
- ^openmpi@2.0.1
- ^hwloc@1.11.4
- ^libpciaccess@0.13.4
- ^hypre@2.11.1
- ^openblas@0.2.19
- ^matio@1.5.2
- ^metis@5.1.0
- ^mumps@5.0.2
- ^netlib-scalapack@2.0.2
- ^netcdf@4.4.1
- ^curl@7.50.3
- ^openssl@1.0.2j
- ^parmetis@4.0.3
- ^suite-sparse@4.5.3
- ^tbb@4.4.4
- ^superlu-dist@5.1.1
-
-
-As we discussed before, the ``spack find -d`` command shows the
-dependency information as a tree. While that is often sufficient, many
-complicated packages, including trilinos, have dependencies that
-cannot be fully represented as a tree. Again, the ``spack graph``
-command shows the full DAG of the dependency information.
-
-.. code-block:: console
-
- $ spack graph trilinos
- o trilinos
- |\
- | |\
- | | |\
- | | | |\
- | | | | |\
- | | | | | |\
- | | | | | | |\
- | o | | | | | | netcdf
- | |\ \ \ \ \ \ \
- | | |\ \ \ \ \ \ \
- | | | o | | | | | | curl
- | | |/| | | | | | |
- | |/| | | | | | | |
- | | | o | | | | | | openssl
- | | |/ / / / / / /
- | |/| | | | | | |
- | | o | | | | | | hdf5
- | |/| | | | | | |
- | | |/ / / / / /
- | o | | | | | | zlib
- | / / / / / /
- o | | | | | | swig
- o | | | | | | pcre
- / / / / / /
- o | | | | | mpi
- / / / / /
- o | | | | matio
- / / / /
- o | | | lapack
- / / /
- o | | glm
- / /
- o | boost
- /
- o blas
-
-
-You can control how the output is displayed with a number of options.
-
-The ASCII output from ``spack graph`` can be difficult to parse for
-complicated packages. The output can be changed to the ``graphviz``
-``.dot`` format using the `--dot` flag.
-
-.. code-block:: console
-
- $ spack graph --dot trilinos | dot -Tpdf trilinos_graph.pdf
-
-.. _basics-tutorial-uninstall:
-
----------------------
-Uninstalling Packages
----------------------
-
-Earlier we installed many configurations each of libelf and
-libdwarf. Now we will go through and uninstall some of those packages
-that we didn't really need.
-
-.. code-block:: console
-
- $ spack find -d libdwarf
- ==> 3 installed packages.
- -- linux-redhat6-x86_64 / gcc@4.4.7 -----------------------------
- libdwarf@20160507
- ^libelf@0.8.12
-
- libdwarf@20160507
- ^libelf@0.8.13
-
-
- -- linux-redhat6-x86_64 / intel@16.0.3 --------------------------
- libdwarf@20160507
- ^libelf@0.8.12
-
- $ spack find libelf
- ==> 6 installed packages.
- -- linux-redhat6-x86_64 / gcc@4.4.7 -----------------------------
- libelf@0.8.12 libelf@0.8.12 libelf@0.8.13
-
- -- linux-redhat6-x86_64 / intel@15.0.4 --------------------------
- libelf@0.8.13
-
- -- linux-redhat6-x86_64 / intel@16.0.3 --------------------------
- libelf@0.8.12 libelf@0.8.13
-
-
-We can uninstall packages by spec using the same syntax as install.
-
-.. code-block:: console
-
- $ spack uninstall libelf%intel@15.0.4
- ==> The following packages will be uninstalled :
-
- -- linux-redhat6-x86_64 / intel@15.0.4 --------------------------
- w33hrej libelf@0.8.13%intel
-
-
- ==> Do you want to proceed ? [y/n]
- y
- ==> Successfully uninstalled libelf@0.8.13%intel@15.0.4 arch=linux-redhat6-x86_64-w33hrej
-
-
-
- $ spack find -lf libelf
- ==> 5 installed packages.
- -- linux-redhat6-x86_64 / gcc@4.4.7 -----------------------------
- ipggckv libelf@0.8.12%gcc
-
- vrv2ttb libelf@0.8.12%gcc cppflags="-O3"
-
- csrt4qx libelf@0.8.13%gcc
-
-
- -- linux-redhat6-x86_64 / intel@16.0.3 --------------------------
- 4blbe3q libelf@0.8.12%intel
-
- 7wgp32x libelf@0.8.13%intel
-
-
-We can uninstall packages by referring only to their hash.
-
-
-We can use either ``-f`` (force) or ``-d`` (remove dependents as well) to
-remove packages that are required by another installed package.
-
-.. code-block:: console
-
- $ spack uninstall /4blb
- ==> Error: Will not uninstall libelf@0.8.12%intel@16.0.3-4blbe3q
-
- The following packages depend on it:
- -- linux-redhat6-x86_64 / intel@16.0.3 --------------------------
- csruprg libdwarf@20160507%intel
-
-
- ==> Error: You can use spack uninstall --dependents to uninstall these dependencies as well
- $ spack uninstall -d /4blb
- ==> The following packages will be uninstalled :
-
- -- linux-redhat6-x86_64 / intel@16.0.3 --------------------------
- csruprg libdwarf@20160507%intel
-
- 4blbe3q libelf@0.8.12%intel
-
-
- ==> Do you want to proceed ? [y/n]
- y
- ==> Successfully uninstalled libdwarf@20160507%intel@16.0.3 arch=linux-redhat6-x86_64-csruprg
- ==> Successfully uninstalled libelf@0.8.12%intel@16.0.3 arch=linux-redhat6-x86_64-4blbe3q
-
-
-Spack will not uninstall packages that are not sufficiently
-specified. The ``-a`` (all) flag can be used to uninstall multiple
-packages at once.
-
-.. code-block:: console
-
- $ spack uninstall trilinos
- ==> Error: trilinos matches multiple packages:
-
- -- linux-redhat6-x86_64 / gcc@4.4.7 -----------------------------
- ffwrpxn trilinos@12.8.1%gcc+boost~debug+hdf5+hypre+metis+mumps~python+shared+suite-sparse+superlu-dist
-
- uvd6dfd trilinos@12.8.1%gcc+boost~debug+hdf5+hypre+metis+mumps~python+shared+suite-sparse+superlu-dist
-
-
- ==> Error: You can either:
- a) Use a more specific spec, or
- b) use spack uninstall -a to uninstall ALL matching specs.
-
-
-
- $ spack uninstall /ffwr
- ==> The following packages will be uninstalled :
-
- -- linux-redhat6-x86_64 / gcc@4.4.7 -----------------------------
- ffwrpxn trilinos@12.8.1%gcc+boost~debug+hdf5+hypre+metis+mumps~python+shared+suite-sparse+superlu-dist
-
-
- ==> Do you want to proceed ? [y/n]
- y
- ==> Successfully uninstalled trilinos@12.8.1%gcc@4.4.7+boost~debug+hdf5+hypre+metis+mumps~python+shared+suite-sparse+superlu-dist arch=linux-redhat6-x86_64-ffwrpxn
-
------------------------------
-Advanced ``spack find`` Usage
------------------------------
-
-We will go over some additional uses for the `spack find` command not
-already covered in the :ref:`basics-tutorial-install` and
-:ref:`basics-tutorial-uninstall` sections.
-
-The ``spack find`` command can accept what we call "anonymous specs."
-These are expressions in spec syntax that do not contain a package
-name. For example, `spack find %intel` will return every package built
-with the intel compiler, and ``spack find cppflags="-O3"`` will
-return every package which was built with ``cppflags="-O3"``.
-
-.. code-block:: console
-
- $ spack find %intel
- ==> 1 installed packages.
- -- linux-redhat6-x86_64 / intel@16.0.3 --------------------------
- libelf@0.8.13
-
-
-
- $ spack find cppflags="-O3"
- ==> 1 installed packages.
- -- linux-redhat6-x86_64 / gcc@4.4.7 -----------------------------
- libelf@0.8.12
-
-
-The ``find`` command can also show which packages were installed
-explicitly (rather than pulled in as a dependency) using the ``-e``
-flag. The ``-E`` flag shows implicit installs only. The ``find`` command can
-also show the path to which a spack package was installed using the ``-p``
-command.
-
-.. code-block:: console
-
- $ spack find -pe
- ==> 10 installed packages.
- -- linux-redhat6-x86_64 / gcc@4.4.7 -----------------------------
- hdf5@1.10.0-patch1 ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/hdf5-1.10.0-patch1-twppaioxqn6lti4grgopnmhwcq3h2rpw
- hdf5@1.10.0-patch1 ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/hdf5-1.10.0-patch1-j36yfw25i6gdd3q4vwlupgkpwic4ua6m
- hdf5@1.10.0-patch1 ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/hdf5-1.10.0-patch1-ezvtnox35albuaxqryuondweyjgeo6es
- libdwarf@20160507 ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libdwarf-20160507-dtg3tgnp7htccoly26gduqlrgvnwcp5t
- libdwarf@20160507 ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libdwarf-20160507-yfx6p3g3rkmqvcqbmtb34o6pln7pqvcz
- libelf@0.8.12 ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libelf-0.8.12-ipggckv6i7h44iryzfa4dwdela32a7fy
- libelf@0.8.12 ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libelf-0.8.12-vrv2ttbd34xlfoxy4jwt6qsjrcbalmmw
- libelf@0.8.13 ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/libelf-0.8.13-csrt4qxfkhjgn5xg3zjpkir7xdnszl2a
- trilinos@12.8.1 ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/trilinos-12.8.1-uvd6dfd7x4uyvck4awo3r3frudihn4ar
-
- -- linux-redhat6-x86_64 / intel@16.0.3 --------------------------
- libelf@0.8.13 ~/spack/opt/spack/linux-redhat6-x86_64/intel-16.0.3/libelf-0.8.13-7wgp32xksatkvw2tbssmehw2t5tnxndj
-
-
----------------------
-Customizing Compilers
----------------------
-
-
-Spack manages a list of available compilers on the system, detected
-automatically from from the user's ``PATH`` variable. The ``spack
-compilers`` command is an alias for the command ``spack compiler list``.
-
-.. code-block:: console
-
- $ spack compilers
- ==> Available compilers
- -- gcc ----------------------------------------------------------
- gcc@4.4.7
-
- -- intel --------------------------------------------------------
- intel@16.0.3 intel@15.0.1 intel@14.0.0 intel@12.1.3 intel@10.0
- intel@16.0.2 intel@15.0.0 intel@13.1.1 intel@12.1.2 intel@9.1
- intel@16.0.1 intel@14.0.4 intel@13.1.0 intel@12.1.0
- intel@16.0.0 intel@14.0.3 intel@13.0.1 intel@12.0.4
- intel@15.0.4 intel@14.0.2 intel@13.0.0 intel@11.1
- intel@15.0.3 intel@14.0.1 intel@12.1.5 intel@10.1
-
- -- pgi ----------------------------------------------------------
- pgi@16.5-0 pgi@15.7-0 pgi@14.7-0 pgi@13.2-0 pgi@11.10-0 pgi@9.0-4
- pgi@16.3-0 pgi@15.5-0 pgi@14.3-0 pgi@13.1-1 pgi@11.1-0 pgi@8.0-1
- pgi@16.1-0 pgi@15.1-0 pgi@13.10-0 pgi@12.8-0 pgi@10.9-0 pgi@7.1-3
- pgi@15.10-0 pgi@14.10-0 pgi@13.6-0 pgi@12.1-0 pgi@10.2-0 pgi@7.0-6
-
-The compilers are maintained in a YAML file that can be hand-edited
-for special cases. Spack also has tools to add compilers, and
-compilers built with Spack can be added to the configuration.
-
-.. code-block:: console
-
- $ spack install --fake gcc@6.1.0
- ==> Installing gcc
- ==> gmp is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/gmp-6.1.1-uwn4gfdtq3sywy5uf4f7znrh66oybikf
- ==> Installing isl
- ==> gmp is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/gmp-6.1.1-uwn4gfdtq3sywy5uf4f7znrh66oybikf
- ==> Building isl [Package]
- ==> Successfully installed isl
- Fetch: . Build: 0.19s. Total: 0.19s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/isl-0.14-hs2w7mjjjaakkmbbv5yvfqf7yyzhorl6
- ==> Installing mpc
- ==> gmp is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/gmp-6.1.1-uwn4gfdtq3sywy5uf4f7znrh66oybikf
- ==> Installing mpfr
- ==> gmp is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/gmp-6.1.1-uwn4gfdtq3sywy5uf4f7znrh66oybikf
- ==> Building mpfr [Package]
- ==> Successfully installed mpfr
- Fetch: . Build: 0.17s. Total: 0.17s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/mpfr-3.1.4-7kt5ij437khredfq4bvnyu22t3fmtfvt
- ==> Building mpc [Package]
- ==> Successfully installed mpc
- Fetch: . Build: 0.28s. Total: 0.28s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/mpc-1.0.3-g5taq6lt3zuy5l2jtggi5lctxnl4la5u
- ==> Installing binutils
- ==> m4 is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/m4-1.4.17-qijdzvhjyybrtwbqm73vykhmkaqro3je
- ==> Installing bison
- ==> m4 is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/m4-1.4.17-qijdzvhjyybrtwbqm73vykhmkaqro3je
- ==> Building bison [Package]
- ==> Successfully installed bison
- Fetch: . Build: 0.12s. Total: 0.12s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/bison-3.0.4-hkhfysfvq5l6rsns67g2htmkpxauvnwa
- ==> Installing flex
- ==> m4 is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/m4-1.4.17-qijdzvhjyybrtwbqm73vykhmkaqro3je
- ==> bison is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/bison-3.0.4-hkhfysfvq5l6rsns67g2htmkpxauvnwa
- ==> Building flex [Package]
- ==> Successfully installed flex
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/flex-2.6.0-qd6d73rdfrozdrsdpimvl4tj7d5ps7qg
- ==> Building binutils [Package]
- ==> Successfully installed binutils
- Fetch: . Build: 0.11s. Total: 0.11s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/binutils-2.27-iq2hry3gvaxszmwwbnll7njgdgaek56o
- ==> mpfr is already installed in ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/mpfr-3.1.4-7kt5ij437khredfq4bvnyu22t3fmtfvt
- ==> Building gcc [Package]
- ==> Successfully installed gcc
- Fetch: . Build: 0.66s. Total: 0.66s.
- [+] ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/gcc-6.1.0-j5576zbsot2ydljlthjzhsirsesnogvh
-
-
-
- $ spack find -p gcc
- ==> 1 installed packages.
- -- linux-redhat6-x86_64 / gcc@4.4.7 -----------------------------
- gcc@6.1.0 ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/gcc-6.1.0-j5576zbsot2ydljlthjzhsirsesnogvh
-
-
-If we had done a "real" install of gcc, we could add it to our
-configuration now using the `spack compiler add` command, but we would
-also be waiting for it to install. If we run the command now, it will
-return no new compilers.
-
-.. code-block:: console
-
- $ spack compiler add ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/gcc-6.1.0-j5576zbsot2ydljlthjzhsirsesnogvh/bin
- ==> Found no new compilers
-
-If we had done a real install, the output would have been as follows:
-
-.. code-block:: console
-
- $ spack compiler add ~/spack/opt/spack/linux-redhat6-x86_64/gcc-4.4.7/gcc-6.1.0-j5576zbsot2ydljlthjzhsirsesnogvh/bin
- ==> Added 1 new compiler to ~/.spack/linux/compilers.yaml
- gcc@6.1.0