Skip to content

bugfix: fix install_missing_compilers option bug from v0.14.0#15416

Merged
becker33 merged 2 commits intodevelopfrom
bugfix/bootstrap-compiler-before-install
Mar 10, 2020
Merged

bugfix: fix install_missing_compilers option bug from v0.14.0#15416
becker33 merged 2 commits intodevelopfrom
bugfix/bootstrap-compiler-before-install

Conversation

@becker33
Copy link
Copy Markdown
Member

@becker33 becker33 commented Mar 10, 2020

Bug: when installing with install_missing_compilers: true in the config.yaml, leaf nodes of the package will be pulled from the queue for installation before the underlying compiler is installed.

Fix: Mark bootstrapped compilers as having a dependent of the package they are bootstrapped for. Do not mark the package as having a dependency on the compiler, as that would change the hash. Rather, we separately compute the compiler, if not already installed, as one of the dependents of the BuildTask object when pushing tasks to the queue.

To reproduce, try to install the following environment to a Spack instance in which [email protected] is not already configured as an available compiler.

spack:
  specs: [zlib%[email protected]]
  config:
    install_missing_compilers: true

@becker33 becker33 requested a review from tldahlgren March 10, 2020 00:16

# Handle bootstrapped compiler
#
# The boostrapped compiler is not a dependency in the spec, but it is
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: boostrapped -> bootstrapped

Copy link
Copy Markdown
Contributor

@tldahlgren tldahlgren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than the typo, this seems reasonable.

Coverage of the uncovered code is already addressed in #15237.

@becker33 becker33 merged commit bbbee67 into develop Mar 10, 2020
tgamblin pushed a commit that referenced this pull request Mar 20, 2020
* bugfix: ensure bootstrapped compilers built before packages using the compiler
likask pushed a commit to likask/spack that referenced this pull request Apr 7, 2020
…upstream_master

* commit 'e2b1737a42c9c0c796671f9dd0c39f623e4c91c0': (1343 commits)
  update CHANGELOG.md for 0.14.1
  version bump: 0.14.1
  multiprocessing: allow Spack to run uninterrupted in background (spack#14682)
  Cray bugfix: TERM missing while reading default target (spack#15381)
  Upstreams: don't write metadata directory to upstream DB (spack#15526)
  Creating versions from urls doesn't modify class attributes (spack#15452)
  bugfix: fix install_missing_compilers option bug from v0.14.0 (spack#15416)
  bugfix: installer.py shouldn't be executable (spack#15386)
  Add function replace_prefix_nullterm for use on mach-o rpaths. (spack#15347)
  ArchSpec: fix semantics of satisfies when not concrete and strict is true (spack#15319)
  suite-sparse: fix installation for v5.X (spack#15326)
  testing:  increase installer coverage (spack#15237)
  bugfix: resolve undefined source_pkg_dir failure (spack#15339)
  Bugfix: resolve StopIteration message attribute failure (spack#15341)
  Recover coverage from subprocesses during unit tests (spack#15354)
  Correct pytest.raises matches to match (spack#15346)
  bugfix:  Add dependents when initializing spec from yaml (spack#15220)
  Uniquify suffixes added to module names (spack#14920)
  bugfix: ensure proper dependency handling for package-only installs (spack#15197)
  Fix for being able to 'spack load' packages that have been renamed. (spack#14348)
  ...

# Conflicts:
#	.travis.yml
#	lib/spack/spack/modules/common.py
#	var/spack/repos/builtin/packages/mofem-cephas/package.py
#	var/spack/repos/builtin/packages/mofem-fracture-module/package.py
#	var/spack/repos/builtin/packages/mofem-users-modules/package.py
#	var/spack/repos/builtin/packages/python/package.py
@becker33 becker33 deleted the bugfix/bootstrap-compiler-before-install branch June 30, 2020 23:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants