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

Windows: automatic GL detection during bootstrap #43459

Merged
merged 7 commits into from Apr 18, 2024

Conversation

johnwparent
Copy link
Contributor

Require users of Spack on Windows installed the Windows SDK alongside VS (this is one extra box to click) which will guarantee we have WGL available during Spack runs (bundled as part of the sdk).
Detect WGL as part of the bootstrapping run, and if not found, do not allow Spack to complete the bootstrap. If not found, inform users to install as part of the Windows SDK.
This brings Windows up to parity with other platforms, where detecting a GL provider is done automatically, or GL providers can be built natively.

@spackbot-app spackbot-app bot added core PR affects Spack core functionality documentation labels Apr 2, 2024
lib/spack/spack/bootstrap/core.py Show resolved Hide resolved
lib/spack/spack/bootstrap/core.py Outdated Show resolved Hide resolved
lib/spack/docs/getting_started.rst Outdated Show resolved Hide resolved
@scheibelp scheibelp merged commit 9e2558b into spack:develop Apr 18, 2024
34 of 35 checks passed
tldahlgren pushed a commit to tldahlgren/spack that referenced this pull request Apr 23, 2024
On Windows, bootstrapping logic now searches for and adds the win-sdk
and wgl packages to the user's top scope as externals if they are not
present.

These packages are generally required to install most packages with
Spack on Windows, and are only available as externals, so it is
assumed that doing this automatically would be useful and avoid
a mandatory manual step for each new Spack instance.

Note this is the first case of bootstrapping logic modifying
configuration other than the bootstrap configuration.
johnwparent added a commit that referenced this pull request Apr 24, 2024
haampie pushed a commit that referenced this pull request Apr 24, 2024
stephenmsachs pushed a commit to stephenmsachs/spack that referenced this pull request Apr 29, 2024
On Windows, bootstrapping logic now searches for and adds the win-sdk
and wgl packages to the user's top scope as externals if they are not
present.

These packages are generally required to install most packages with
Spack on Windows, and are only available as externals, so it is
assumed that doing this automatically would be useful and avoid
a mandatory manual step for each new Spack instance.

Note this is the first case of bootstrapping logic modifying
configuration other than the bootstrap configuration.
stephenmsachs pushed a commit to stephenmsachs/spack that referenced this pull request Apr 29, 2024
scheibelp pushed a commit that referenced this pull request May 2, 2024
Adds a pre-concretization check for the Windows SDK and WGL (Windows
GL) packages as non-buildable externals.

This is a redo of #43459, but makes
sure to modify the configuration scope outside of the bootstrap scope:
whichever is highest-precedence in the user's environment at the time
the concretization runs, which should either be an env scope or the
~ scope.

Adds pytest fixture mocking the check for WGL and WSDK as if they were
present.
wdconinc pushed a commit that referenced this pull request May 4, 2024
wdconinc pushed a commit that referenced this pull request May 4, 2024
Adds a pre-concretization check for the Windows SDK and WGL (Windows
GL) packages as non-buildable externals.

This is a redo of #43459, but makes
sure to modify the configuration scope outside of the bootstrap scope:
whichever is highest-precedence in the user's environment at the time
the concretization runs, which should either be an env scope or the
~ scope.

Adds pytest fixture mocking the check for WGL and WSDK as if they were
present.
tldahlgren pushed a commit to tldahlgren/spack that referenced this pull request May 8, 2024
Adds a pre-concretization check for the Windows SDK and WGL (Windows
GL) packages as non-buildable externals.

This is a redo of spack#43459, but makes
sure to modify the configuration scope outside of the bootstrap scope:
whichever is highest-precedence in the user's environment at the time
the concretization runs, which should either be an env scope or the
~ scope.

Adds pytest fixture mocking the check for WGL and WSDK as if they were
present.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core PR affects Spack core functionality documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants