Make clingo the default solver (#25502)
Modifications: - [x] Change `defaults/config.yaml` - [x] Add a fix for bootstrapping patchelf from sources if `compilers.yaml` is empty - [x] Make `SPACK_TEST_SOLVER=clingo` the default for unit-tests - [x] Fix package failures in the e4s pipeline Caveats: 1. CentOS 6 still uses the original concretizer as it can't connect to the buildcache due to issues with `ssl` (bootstrapping from sources requires a C++14 capable compiler) 1. I had to update the image tag for GitlabCI in e699f14. 1. libtool v2.4.2 has been deprecated and other packages received some update
This commit is contained in:

committed by
GitHub

parent
0d0d438c11
commit
c52426ea7a
@@ -489,6 +489,16 @@ def _bootstrap_config_scopes():
|
||||
|
||||
@contextlib.contextmanager
|
||||
def ensure_bootstrap_configuration():
|
||||
# We may need to compile code from sources, so ensure we have compilers
|
||||
# for the current platform before switching parts.
|
||||
arch = spack.architecture.default_arch()
|
||||
arch = spack.spec.ArchSpec(str(arch)) # The call below expects an ArchSpec object
|
||||
if not spack.compilers.compilers_for_arch(arch):
|
||||
compiler_cmd = spack.main.SpackCommand('compiler')
|
||||
compiler_cmd(
|
||||
'find', output=os.devnull, error=os.devnull, fail_on_error=False
|
||||
)
|
||||
|
||||
bootstrap_store_path = store_path()
|
||||
with spack.environment.deactivate_environment():
|
||||
with spack.architecture.use_platform(spack.architecture.real_platform()):
|
||||
|
@@ -585,7 +585,7 @@ def configuration_dir(tmpdir_factory, linux_os):
|
||||
tmpdir.ensure('user', dir=True)
|
||||
|
||||
# Slightly modify config.yaml and compilers.yaml
|
||||
solver = os.environ.get('SPACK_TEST_SOLVER', 'original')
|
||||
solver = os.environ.get('SPACK_TEST_SOLVER', 'clingo')
|
||||
config_yaml = test_config.join('config.yaml')
|
||||
modules_root = tmpdir_factory.mktemp('share')
|
||||
tcl_root = modules_root.ensure('modules', dir=True)
|
||||
|
Reference in New Issue
Block a user