Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 2 commits into from
Mar 10, 2020

Conversation

becker33
Copy link
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 gcc@5.5.0 is not already configured as an available compiler.

spack:
  specs: [zlib%gcc@5.5.0]
  config:
    install_missing_compilers: true

@@ -1549,6 +1552,21 @@ def __init__(self, pkg, compiler, start, attempts, status, installed):
self.spec.dependencies() if
package_id(d.package) != self.pkg_id)

# Handle bootstrapped compiler
#
# The boostrapped compiler is not a dependency in the spec, but it is
Copy link
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
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 added this to Reviewer approved in Spack v0.14.1 release Mar 10, 2020
@becker33 becker33 merged commit bbbee67 into develop Mar 10, 2020
Spack v0.14.1 release automation moved this from Reviewer approved to Done Mar 10, 2020
@tgamblin tgamblin moved this from Done to Reviewer approved in Spack v0.14.1 release Mar 19, 2020
@tgamblin tgamblin moved this from Reviewer approved to Done in Spack v0.14.1 release Mar 20, 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
No open projects
Development

Successfully merging this pull request may close these issues.

None yet

2 participants