Skip to content

Instantly share code, notes, and snippets.

@mottosso
Created July 4, 2019 07:06
Show Gist options
  • Save mottosso/7d3f7fda22f2171fb041501e6653ab08 to your computer and use it in GitHub Desktop.
Save mottosso/7d3f7fda22f2171fb041501e6653ab08 to your computer and use it in GitHub Desktop.
3rd July 2019 - Website pt. 3

Today I fleshed out some more content for the site.


Information tracks

The website will be designed for three types of audiences.

  1. Those just learning about the product and wants to find out what it is and whether it's relevant to them
  2. Those experience with Rez and wanting to know about Allspark specifically, in (technical) detail
  3. Those having done all of that, and is now returning for reference information

image

Package-based Launcher

The ability to specify projects, applications and libraries as packages, link them together and visualise them to the artist is Allspark's strength, but we need some way of communicating what this actually means. It's a tough one as it is so abstract, but I thought something like this might do.

image

Whereby (1) an artist picks an application, (2) the associated Project and Application package is resolved into (3) a large number of packages.


Eye candy

A startling landing page sets the stage for any further interaction with a product, so we need something that sets it apart from other sites. We'll have to be careful not to affect the usability of the site, if we also want it to contain learning material and reference to the software, which is why I'm thinking we could leave eye-candy to just the landing page.

Here are some examples I thought looked interesting.


Supported By

To help anyone landing at allspark.sh for the first time figure out what it is they're looking at, I'd like to add little logos indicating support for various things.

  • Windows, Linux, OSX
  • Python
  • Bleeding Rez
  • Bash, Cmd, PowerShell
  • Pipz, Scoopz, Yumz, Localz

I'd also like to add the application icons to the website, to tie everything together. Clicking on them should scroll the viewer to its corresponding feature on the landing page.

image

Spack

Also took a closer look at Spack, to see whether there are things we could learn and apply to Allspark.

Jargon

  • Package Same meaning
    • package.py Same filename for definitions
  • snake_case Throughout codebase
  • Repository Same meaning
  • Variant Same meaning-
  • spack clone equals rez bind rez
  • spack load calls module load (Unix-only)
  • Dummy package is Rez's "Bundle package"
  • spack view to overcome long PYTHONPATH, builds a single directory out of multiple packages
  • Can build dependencies as-needed, like yum and apt-get
  • Can fetch either binary, or build-from-source, like pip install and wheel
  • Windows?
    • CLI written in Bash
    • 1,000+ built-in packages for Linux-only
  • Slow
    • Establishing the Spack environment takes about 10 seconds
    • Installing hdf5 took 2 hours, until it failed (see below)
  • Builds-only?
    • It doesn't appear to have an interface for an end-user establishing an environment. Mailing list
  • Inverse folder layout
    • Rez stores package/version/variant/platform
    • Spack stores linux-centos7-x86_64/gcc-4.8.5/python/3.7.0-bwryqe3ikivpsximkjmjezr2fc6t66ju
    • Note the commit hash in the version

CLI

spack --help
usage: spack [-hkV] [--color {always,never,auto}] COMMAND ...

A flexible package manager that supports multiple versions,
configurations, platforms, and compilers.

These are common spack commands:

query packages:
  list                  list and search available packages
  info                  get detailed information on a particular package
  find                  list and search installed packages

build packages:
  install               build and install packages
  uninstall             remove installed packages
  spec                  show what would be installed, given a spec

environments:
  env                   manage virtual environments
  view                  project packages to a compact naming scheme on the filesystem.

modules:
  load                  add package to environment using `module load`
  module                manipulate module files
  unload                remove package from environment using `module unload`

create packages:
  create                create a new package file
  edit                  open package files in $EDITOR

system:
  arch                  print architecture information about this machine
  compilers             list available compilers

optional arguments:
  -h, --help            show this help message and exit
  -k, --insecure        do not check ssl certificates when downloading
  -V, --version         show version number and exit
  --color {always,never,auto}
                        when to colorize output (default: auto)

more help:
  spack help --all       list all commands and options
  spack help <command>   help on a specific command
  spack help --spec      help on the spec syntax
  spack docs             open http://spack.rtfd.io/ in a browser

Build

The first thing the documentation asks for is that you run a build for hdf5. A number of interesting things happened as I did that.

spack install hdf5
==> Installing libsigsegv

Right off the bat, it's installing something different than I asked. Why? Because libsigsegv is a requirement for hdf5. Neat!

==> Searching for binary cache of libsigsegv
==> Warning: No Spack mirrors are currently configured
==> No binary for libsigsegv found: installing from source

First, it attempt to find a pre-compiled binary. That's great, it's what pip does too and manages to find it a majority of time, which bodes well for using Spock in a more controlled manner like a Rez replacement.

==> Fetching https://ftpmirror.gnu.org/libsigsegv/libsigsegv-2.11.tar.gz
######################################################################## 100.0%

It's able to download things from an online location, which is neat. It keeps packages small, as the alternative is hosting source alongside package definition which is not nice. It does however mean it requires internet access during build.

==> Staging archive: /home/marcus/spack/var/spack/stage/libsigsegv-2.11-jnolv6wrp4o6hafvgkyco3y5tk5qgtvo/libsigsegv-2.11.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/libsigsegv-2.11-jnolv6wrp4o6hafvgkyco3y5tk5qgtvo

Interesting, a dedicated staging area for the build, effectively an out-of-source (as opposed to in-source) build which is what we'd expect.

==> No patches needed for libsigsegv

Unsure of how it makes this judgement, but that it's got a concept of patches for a given build is interesting.

==> Building libsigsegv [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed libsigsegv
  Fetch: 5.39s.  Build: 1m 23.02s.  Total: 1m 28.41s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/libsigsegv-2.11-jnolv6wrp4o6hafvgkyco3y5tk5qgtvo

Finishing up this one package, we can see it has some idea of a "phase" which sounds a lot like what you find in CI like Azure Pipelines. Presumably stages are interdependent steps whereby each is able to cancel the next and potentially establish dependencies or skip-criterias - e.g. skip this step if running on Windows or a particular setting it set.

==> Installing m4
==> Searching for binary cache of m4
==> Warning: No Spack mirrors are currently configured
==> No binary for m4 found: installing from source
==> Fetching https://ftpmirror.gnu.org/m4/m4-1.4.18.tar.gz

For the next package, the cycle repeats until all packages are built. Neat.

However, in my case, something went wrong. But even that was interesting.

==> Error: InstallError: OpenMPI requires both C and Fortran compilers!

/home/marcus/spack/var/spack/repos/builtin/packages/openmpi/package.py:358, in die_without_fortran:
        355        # avoid delayed build errors in dependents.
        356        if (self.compiler.f77 is None) or (self.compiler.fc is None):
        357            raise InstallError(
  >>    358                'OpenMPI requires both C and Fortran compilers!'
        359            )

See build log for details:
  /home/marcus/spack/var/spack/stage/openmpi-3.1.4-n5m4maw2ml435z25h7murrs44nivmma7/spack-build.txt

Not only does it give you the absolute path to the problem (unlike Rez), but it gives you a build log as well (also unlike Rez). And look at that friendly error message! :)

Full build output
spack install hdf5
==> Installing libsigsegv
==> Searching for binary cache of libsigsegv
==> Warning: No Spack mirrors are currently configured
==> No binary for libsigsegv found: installing from source
==> Fetching https://ftpmirror.gnu.org/libsigsegv/libsigsegv-2.11.tar.gz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/libsigsegv-2.11-jnolv6wrp4o6hafvgkyco3y5tk5qgtvo/libsigsegv-2.11.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/libsigsegv-2.11-jnolv6wrp4o6hafvgkyco3y5tk5qgtvo
==> No patches needed for libsigsegv
==> Building libsigsegv [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed libsigsegv
  Fetch: 5.39s.  Build: 1m 23.02s.  Total: 1m 28.41s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/libsigsegv-2.11-jnolv6wrp4o6hafvgkyco3y5tk5qgtvo
==> Installing m4
==> Searching for binary cache of m4
==> Warning: No Spack mirrors are currently configured
==> No binary for m4 found: installing from source
==> Fetching https://ftpmirror.gnu.org/m4/m4-1.4.18.tar.gz
######################################################################## 100.0%
==> Fetching https://src.fedoraproject.org/rpms/m4/raw/5d147168d4b93f38a4833f5dd1d650ad88af5a8a/f/m4-1.4.18-glibc-change-work-around.patch
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/m4-1.4.18-3lj6lbsvlt2pfsvtrnqjwfxkjcidu52n/m4-1.4.18.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/m4-1.4.18-3lj6lbsvlt2pfsvtrnqjwfxkjcidu52n
==> Applied patch /home/marcus/spack/var/spack/repos/builtin/packages/m4/gnulib-pgi.patch
==> Applied patch https://src.fedoraproject.org/rpms/m4/raw/5d147168d4b93f38a4833f5dd1d650ad88af5a8a/f/m4-1.4.18-glibc-change-work-around.patch
==> Building m4 [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed m4
  Fetch: 3.70s.  Build: 4m 3.45s.  Total: 4m 7.15s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/m4-1.4.18-3lj6lbsvlt2pfsvtrnqjwfxkjcidu52n
==> Installing libtool
==> Searching for binary cache of libtool
==> Warning: No Spack mirrors are currently configured
==> No binary for libtool found: installing from source
==> Fetching https://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/libtool-2.4.6-cud6m3e7wuyunqcmb2ltrreuvri5vxfg/libtool-2.4.6.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/libtool-2.4.6-cud6m3e7wuyunqcmb2ltrreuvri5vxfg
==> No patches needed for libtool
==> Building libtool [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed libtool
  Fetch: 5.03s.  Build: 1m 29.41s.  Total: 1m 34.44s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/libtool-2.4.6-cud6m3e7wuyunqcmb2ltrreuvri5vxfg
==> Installing pkgconf
==> Searching for binary cache of pkgconf
==> Warning: No Spack mirrors are currently configured
==> No binary for pkgconf found: installing from source
==> Fetching http://distfiles.dereferenced.org/pkgconf/pkgconf-1.6.1.tar.xz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/pkgconf-1.6.1-kghcl7l7f4sql7kp4pgo7ntr2idogl6l/pkgconf-1.6.1.tar.xz
==> Created stage in /home/marcus/spack/var/spack/stage/pkgconf-1.6.1-kghcl7l7f4sql7kp4pgo7ntr2idogl6l
==> No patches needed for pkgconf
==> Building pkgconf [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed pkgconf
  Fetch: 2.08s.  Build: 54.01s.  Total: 56.09s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/pkgconf-1.6.1-kghcl7l7f4sql7kp4pgo7ntr2idogl6l
==> Installing util-macros
==> Searching for binary cache of util-macros
==> Warning: No Spack mirrors are currently configured
==> No binary for util-macros found: installing from source
==> Fetching https://www.x.org/archive/individual/util/util-macros-1.19.1.tar.bz2
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/util-macros-1.19.1-zz6mvx4s7cmm3kvc3mbr2fe7jo3b42wd/util-macros-1.19.1.tar.bz2
==> Created stage in /home/marcus/spack/var/spack/stage/util-macros-1.19.1-zz6mvx4s7cmm3kvc3mbr2fe7jo3b42wd
==> No patches needed for util-macros
==> Building util-macros [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed util-macros
  Fetch: 5.33s.  Build: 5.47s.  Total: 10.80s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/util-macros-1.19.1-zz6mvx4s7cmm3kvc3mbr2fe7jo3b42wd
==> Installing libpciaccess
==> Searching for binary cache of libpciaccess
==> Warning: No Spack mirrors are currently configured
==> No binary for libpciaccess found: installing from source
==> Fetching http://xorg.freedesktop.org/archive/individual/lib/libpciaccess-0.13.5.tar.gz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/libpciaccess-0.13.5-cxkyhpowowx5qpl64dbceywpumlsbcmf/libpciaccess-0.13.5.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/libpciaccess-0.13.5-cxkyhpowowx5qpl64dbceywpumlsbcmf
==> No patches needed for libpciaccess
==> Building libpciaccess [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed libpciaccess
  Fetch: 16.69s.  Build: 1m 0.29s.  Total: 1m 16.98s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/libpciaccess-0.13.5-cxkyhpowowx5qpl64dbceywpumlsbcmf
==> Installing libiconv
==> Searching for binary cache of libiconv
==> Warning: No Spack mirrors are currently configured
==> No binary for libiconv found: installing from source
==> Fetching https://ftpmirror.gnu.org/libiconv/libiconv-1.15.tar.gz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/libiconv-1.15-3slxs7noyeqoifg574ewtwfkgwo64bse/libiconv-1.15.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/libiconv-1.15-3slxs7noyeqoifg574ewtwfkgwo64bse
==> No patches needed for libiconv
==> Building libiconv [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed libiconv
  Fetch: 5.10s.  Build: 5m 20.33s.  Total: 5m 25.43s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/libiconv-1.15-3slxs7noyeqoifg574ewtwfkgwo64bse
==> Installing xz
==> Searching for binary cache of xz
==> Warning: No Spack mirrors are currently configured
==> No binary for xz found: installing from source
==> Fetching http://tukaani.org/xz/xz-5.2.4.tar.bz2
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/xz-5.2.4-zmwpt3b7xjsgczjgvgfemlxhvy7jqb46/xz-5.2.4.tar.bz2
==> Created stage in /home/marcus/spack/var/spack/stage/xz-5.2.4-zmwpt3b7xjsgczjgvgfemlxhvy7jqb46
==> No patches needed for xz
==> Building xz [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed xz
  Fetch: 6.72s.  Build: 3m 16.94s.  Total: 3m 23.65s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/xz-5.2.4-zmwpt3b7xjsgczjgvgfemlxhvy7jqb46
==> Installing zlib
==> Searching for binary cache of zlib
==> Warning: No Spack mirrors are currently configured
==> No binary for zlib found: installing from source
==> Fetching http://zlib.net/fossils/zlib-1.2.11.tar.gz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/zlib-1.2.11-lgevn3ckxbm4sxwjdoq3k5qfgmpsjt7o/zlib-1.2.11.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/zlib-1.2.11-lgevn3ckxbm4sxwjdoq3k5qfgmpsjt7o
==> No patches needed for zlib
==> Building zlib [Package]
==> Executing phase: 'install'
==> Successfully installed zlib
  Fetch: 4.49s.  Build: 20.69s.  Total: 25.18s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/zlib-1.2.11-lgevn3ckxbm4sxwjdoq3k5qfgmpsjt7o
==> Installing libxml2
==> Searching for binary cache of libxml2
==> Warning: No Spack mirrors are currently configured
==> No binary for libxml2 found: installing from source
==> Fetching http://xmlsoft.org/sources/libxml2-2.9.9.tar.gz
######################################################################## 100.0%
==> Fetching http://www.w3.org/XML/Test/xmlts20080827.tar.gz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/libxml2-2.9.9-6jfvqhkdlqro4lbzss4imnrc5epi5khr/libxml2-2.9.9.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/libxml2-2.9.9-6jfvqhkdlqro4lbzss4imnrc5epi5khr
==> Staging archive: /home/marcus/spack/var/spack/stage/resource-xmlts-6jfvqhkdlqro4lbzss4imnrc5epi5khr/xmlts20080827.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/resource-xmlts-6jfvqhkdlqro4lbzss4imnrc5epi5khr
==> Moving resource stage
        source : /home/marcus/spack/var/spack/stage/resource-xmlts-6jfvqhkdlqro4lbzss4imnrc5epi5khr/spack-src/
        destination : /home/marcus/spack/var/spack/stage/libxml2-2.9.9-6jfvqhkdlqro4lbzss4imnrc5epi5khr/spack-src/xmlconf
==> No patches needed for libxml2
==> Building libxml2 [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed libxml2
  Fetch: 5.21s.  Build: 6m 0.65s.  Total: 6m 5.86s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/libxml2-2.9.9-6jfvqhkdlqro4lbzss4imnrc5epi5khr
==> Installing ncurses
==> Searching for binary cache of ncurses
==> Warning: No Spack mirrors are currently configured
==> No binary for ncurses found: installing from source
==> Fetching https://ftpmirror.gnu.org/ncurses/ncurses-6.1.tar.gz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/ncurses-6.1-7m7kwj3etap7iwagymy5ti3fen3jizh7/ncurses-6.1.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/ncurses-6.1-7m7kwj3etap7iwagymy5ti3fen3jizh7
==> No patches needed for ncurses
==> Building ncurses [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed ncurses
  Fetch: 4.43s.  Build: 11m 45.48s.  Total: 11m 49.91s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/ncurses-6.1-7m7kwj3etap7iwagymy5ti3fen3jizh7
==> Installing readline
==> Searching for binary cache of readline
==> Warning: No Spack mirrors are currently configured
==> No binary for readline found: installing from source
==> Fetching https://ftpmirror.gnu.org/readline/readline-7.0.tar.gz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/readline-7.0-q2qwhp7vn6mgg7kxoqw6semcx7jiwhhf/readline-7.0.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/readline-7.0-q2qwhp7vn6mgg7kxoqw6semcx7jiwhhf
==> No patches needed for readline
==> Building readline [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed readline
  Fetch: 3.12s.  Build: 1m 49.71s.  Total: 1m 52.84s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/readline-7.0-q2qwhp7vn6mgg7kxoqw6semcx7jiwhhf
==> Installing gdbm
==> Searching for binary cache of gdbm
==> Warning: No Spack mirrors are currently configured
==> No binary for gdbm found: installing from source
==> Fetching https://ftpmirror.gnu.org/gdbm/gdbm-1.18.1.tar.gz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/gdbm-1.18.1-qmpp2pk4aseqoupn4c2lwyozhq4clqui/gdbm-1.18.1.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/gdbm-1.18.1-qmpp2pk4aseqoupn4c2lwyozhq4clqui
==> No patches needed for gdbm
==> Building gdbm [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed gdbm
  Fetch: 2.91s.  Build: 1m 47.18s.  Total: 1m 50.09s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/gdbm-1.18.1-qmpp2pk4aseqoupn4c2lwyozhq4clqui
==> Installing perl
==> Searching for binary cache of perl
==> Warning: No Spack mirrors are currently configured
==> No binary for perl found: installing from source
==> Fetching http://www.cpan.org/src/5.0/perl-5.26.2.tar.gz
######################################################################## 100.0%
==> Fetching http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7042.tar.gz
######################################################################## 100.0%
==> Fetching https://src.fedoraproject.org/rpms/perl/raw/004cea3a67df42e92ffdf4e9ac36d47a3c6a05a4/f/perl-5.26.1-guard_old_libcrypt_fix.patch
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/perl-5.26.2-za57evsnti7bgysyttea6lb2zbvmgvgd/perl-5.26.2.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/perl-5.26.2-za57evsnti7bgysyttea6lb2zbvmgvgd
==> Staging archive: /home/marcus/spack/var/spack/stage/resource-cpanm-za57evsnti7bgysyttea6lb2zbvmgvgd/App-cpanminus-1.7042.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/resource-cpanm-za57evsnti7bgysyttea6lb2zbvmgvgd
==> Moving resource stage
        source : /home/marcus/spack/var/spack/stage/resource-cpanm-za57evsnti7bgysyttea6lb2zbvmgvgd/spack-src/
        destination : /home/marcus/spack/var/spack/stage/perl-5.26.2-za57evsnti7bgysyttea6lb2zbvmgvgd/spack-src/cpanm/cpanm
==> Applied patch https://src.fedoraproject.org/rpms/perl/raw/004cea3a67df42e92ffdf4e9ac36d47a3c6a05a4/f/perl-5.26.1-guard_old_libcrypt_fix.patch
==> Building perl [Package]
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed perl
  Fetch: 7.32s.  Build: 10m 24.25s.  Total: 10m 31.57s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/perl-5.26.2-za57evsnti7bgysyttea6lb2zbvmgvgd
==> Installing autoconf
==> Searching for binary cache of autoconf
==> Warning: No Spack mirrors are currently configured
==> No binary for autoconf found: installing from source
==> Fetching https://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/autoconf-2.69-jezgq7ktl6ncjmpnvz3fmvh64ojwd6ov/autoconf-2.69.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/autoconf-2.69-jezgq7ktl6ncjmpnvz3fmvh64ojwd6ov
==> Ran patch() for autoconf
==> Building autoconf [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed autoconf
  Fetch: 2.57s.  Build: 22.14s.  Total: 24.71s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/autoconf-2.69-jezgq7ktl6ncjmpnvz3fmvh64ojwd6ov
==> Installing automake
==> Searching for binary cache of automake
==> Warning: No Spack mirrors are currently configured
==> No binary for automake found: installing from source
==> Fetching https://ftpmirror.gnu.org/automake/automake-1.16.1.tar.gz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/automake-1.16.1-dwhwumyrkqxxwlpmilnfaiybehs7oq7f/automake-1.16.1.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/automake-1.16.1-dwhwumyrkqxxwlpmilnfaiybehs7oq7f
==> Ran patch() for automake
==> Building automake [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed automake
  Fetch: 4.19s.  Build: 33.02s.  Total: 37.21s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/automake-1.16.1-dwhwumyrkqxxwlpmilnfaiybehs7oq7f
==> Installing numactl
==> Searching for binary cache of numactl
==> Warning: No Spack mirrors are currently configured
==> No binary for numactl found: installing from source
==> Fetching https://github.com/numactl/numactl/archive/v2.0.12.tar.gz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/numactl-2.0.12-qvfzmz6ma3qpit3zbhwbl5g55hobuv3m/v2.0.12.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/numactl-2.0.12-qvfzmz6ma3qpit3zbhwbl5g55hobuv3m
==> No patches needed for numactl
==> Building numactl [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed numactl
  Fetch: 4.35s.  Build: 1m 8.92s.  Total: 1m 13.27s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/numactl-2.0.12-qvfzmz6ma3qpit3zbhwbl5g55hobuv3m
==> Installing hwloc
==> Searching for binary cache of hwloc
==> Warning: No Spack mirrors are currently configured
==> No binary for hwloc found: installing from source
==> Fetching http://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-1.11.11.tar.gz
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/hwloc-1.11.11-3zcudcbsrjobklev2kbq75txkbrsqbs2/hwloc-1.11.11.tar.gz
==> Created stage in /home/marcus/spack/var/spack/stage/hwloc-1.11.11-3zcudcbsrjobklev2kbq75txkbrsqbs2
==> No patches needed for hwloc
==> Building hwloc [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed hwloc
  Fetch: 8.65s.  Build: 3m 10.86s.  Total: 3m 19.52s.
[+] /home/marcus/spack/opt/spack/linux-debian9-x86_64/gcc-6.3.0/hwloc-1.11.11-3zcudcbsrjobklev2kbq75txkbrsqbs2
==> Installing openmpi
==> Searching for binary cache of openmpi
==> Warning: No Spack mirrors are currently configured
==> No binary for openmpi found: installing from source
==> Fetching http://www.open-mpi.org/software/ompi/v3.1/downloads/openmpi-3.1.4.tar.bz2
######################################################################## 100.0%
==> Staging archive: /home/marcus/spack/var/spack/stage/openmpi-3.1.4-n5m4maw2ml435z25h7murrs44nivmma7/openmpi-3.1.4.tar.bz2
==> Created stage in /home/marcus/spack/var/spack/stage/openmpi-3.1.4-n5m4maw2ml435z25h7murrs44nivmma7
==> No patches needed for openmpi
==> Building openmpi [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Error: InstallError: OpenMPI requires both C and Fortran compilers!

/home/marcus/spack/var/spack/repos/builtin/packages/openmpi/package.py:358, in die_without_fortran:
        355        # avoid delayed build errors in dependents.
        356        if (self.compiler.f77 is None) or (self.compiler.fc is None):
        357            raise InstallError(
  >>    358                'OpenMPI requires both C and Fortran compilers!'
        359            )

See build log for details:
  /home/marcus/spack/var/spack/stage/openmpi-3.1.4-n5m4maw2ml435z25h7murrs44nivmma7/spack-build.txt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment