From 8766daf9de5b9879fca32aedac849d446fe1000e Mon Sep 17 00:00:00 2001 From: Geoffrey Oxberry Date: Tue, 13 Feb 2018 23:40:47 -0800 Subject: [PATCH] ipopt: fix lmod global name 'prefix' undefined bug (#7224) Running `spack module refresh -m lmod --delete-tree -y` throws the following warning: ```console ==> Warning: Could not write module file [/Users/oxberry1/spack/share/spack/lmod/darwin-sierra-x86_64/openblas/0.2.20-ibhtl5q/clang/5.0.1/ipopt/3.12.9.lua] ==> Warning: --> global name 'prefix' is not defined <-- ``` This warning arises because the variable expansions in `spack.modules.BaseFileWriter` occur at module/package scope. Even though `prefix` is an argument to `install` methods in e.g., `MakefilePackage`, so using this argument within package methods is legal, doing so defeats the introspection logic in `spack.modules.BaseFileWriter`. Replacing `prefix` with `self.prefix` resolves the problem, because the introspection logic in `spack.modules.BaseFileWriter` can use introspection to query IPOPT's prefix. --- var/spack/repos/builtin/packages/ipopt/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/ipopt/package.py b/var/spack/repos/builtin/packages/ipopt/package.py index 43879c2cad..da8f798908 100644 --- a/var/spack/repos/builtin/packages/ipopt/package.py +++ b/var/spack/repos/builtin/packages/ipopt/package.py @@ -78,7 +78,7 @@ def configure_args(self): lapack_lib = spec['lapack'].libs.ld_flags args = [ - "--prefix=%s" % prefix, + "--prefix=%s" % self.prefix, "--with-mumps-incdir=%s" % mumps_dir.include, "--with-mumps-lib=%s" % mumps_libcmd, "--enable-shared",