summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/docs/index.rst1
-rw-r--r--lib/spack/docs/known_issues.rst34
2 files changed, 35 insertions, 0 deletions
diff --git a/lib/spack/docs/index.rst b/lib/spack/docs/index.rst
index b755f2f376..3a5e07ed18 100644
--- a/lib/spack/docs/index.rst
+++ b/lib/spack/docs/index.rst
@@ -56,6 +56,7 @@ or refer to the full manual below.
basic_usage
Tutorial: Spack 101 <https://spack-tutorial.readthedocs.io>
replace_conda_homebrew
+ known_issues
.. toctree::
:maxdepth: 2
diff --git a/lib/spack/docs/known_issues.rst b/lib/spack/docs/known_issues.rst
new file mode 100644
index 0000000000..d60641187e
--- /dev/null
+++ b/lib/spack/docs/known_issues.rst
@@ -0,0 +1,34 @@
+.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
+ Spack Project Developers. See the top-level COPYRIGHT file for details.
+
+ SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+============
+Known Issues
+============
+
+This is a list of known issues in Spack. It provides ways of getting around these
+problems if you encounter them.
+
+------------------------------------------------
+Spack does not seem to respect ``packages.yaml``
+------------------------------------------------
+
+A common problem in Spack v0.18 and above is that package, compiler and target
+preferences specified in ``packages.yaml`` do not seem to be respected. Spack picks the
+"wrong" compilers and their versions, package versions and variants, and
+micro-architectures.
+
+This is however not a bug. In order to reduce the number of builds of the same
+packages, the concretizer values reuse of installed packages higher than preferences
+set in ``packages.yaml``. Note that ``packages.yaml`` specifies only preferences, not
+hard constraints.
+
+There are multiple workarounds:
+
+1. Disable reuse during concretization: ``spack install --fresh <spec>`` when installing
+ from the command line, or ``spack concretize --fresh --force`` when using
+ environments.
+2. Turn preferences into constrains, by moving them to the input spec. For example,
+ use ``spack spec zlib%gcc@12`` when you want to force GCC 12 even if ``zlib`` was
+ already installed with GCC 10.