summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/architecture.py2
-rw-r--r--lib/spack/spack/spec.py5
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/spack/spack/architecture.py b/lib/spack/spack/architecture.py
index beebeba4bf..3d1de39354 100644
--- a/lib/spack/spack/architecture.py
+++ b/lib/spack/spack/architecture.py
@@ -79,6 +79,8 @@ class Target(object):
@staticmethod
def from_dict(d):
+ if d is None:
+ return None
target = Target.__new__(Target)
target.name = d['name']
target.module_name = d['module_name']
diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py
index 395faecde6..ff58091656 100644
--- a/lib/spack/spack/spec.py
+++ b/lib/spack/spack/spec.py
@@ -651,10 +651,13 @@ class Spec(object):
d = {
'variants' : dict(
(name,v.enabled) for name, v in self.variants.items()),
- 'arch' : self.architecture.to_dict(),
'dependencies' : dict((d, self.dependencies[d].dag_hash())
for d in sorted(self.dependencies))
}
+ if self.architecture:
+ d['arch'] = self.architecture.to_dict()
+ else:
+ d['arch'] = None
if self.compiler:
d.update(self.compiler.to_dict())
else: