We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Error "_set_blas_variables: blas_lib not set" in EasyBuild 3.9.1
I am getting the following error when I am trying to build LAMMPS with EasyBuild 3.9.1. 
For an extended dry run, the following is included in the logs:
```
WARNING: ignoring error '_set_blas_variables: BLAS_LIB not set'
```

Using EasyBuild 3.8.1 the build succeeds. The eb recipe is this https://github.com/eth-cscs/production/blob/master/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Aug2018-CrayGNU-18.08.eb,

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `easybuild/toolchains/linalg/libsci.py`
Content:
```
1 ##
2 # Copyright 2014-2019 Ghent University
3 #
4 # This file is part of EasyBuild,
5 # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
6 # with support of Ghent University (http://ugent.be/hpc),
7 # the Flemish Supercomputer Centre (VSC) (https://www.vscentrum.be),
8 # Flemish Research Foundation (FWO) (http://www.fwo.be/en)
9 # and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).
10 #
11 # https://github.com/easybuilders/easybuild
12 #
13 # EasyBuild is free software: you can redistribute it and/or modify
14 # it under the terms of the GNU General Public License as published by
15 # the Free Software Foundation v2.
16 #
17 # EasyBuild is distributed in the hope that it will be useful,
18 # but WITHOUT ANY WARRANTY; without even the implied warranty of
19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 # GNU General Public License for more details.
21 #
22 # You should have received a copy of the GNU General Public License
23 # along with EasyBuild.  If not, see <http://www.gnu.org/licenses/>.
24 ##
25 """
26 Support for Cray's LibSci library, which provides BLAS/LAPACK support.
27 cfr. https://www.nersc.gov/users/software/programming-libraries/math-libraries/libsci/
28 
29 :author: Petar Forai (IMP/IMBA, Austria)
30 :author: Kenneth Hoste (Ghent University)
31 """
32 import os
33 
34 from easybuild.tools.build_log import EasyBuildError
35 from easybuild.tools.toolchain.linalg import LinAlg
36 
37 
38 CRAY_LIBSCI_MODULE_NAME = 'cray-libsci'
39 TC_CONSTANT_CRAY_LIBSCI = 'CrayLibSci'
40 
41 
42 class LibSci(LinAlg):
43     """Support for Cray's LibSci library, which provides BLAS/LAPACK support."""
44     # BLAS/LAPACK support
45     # via cray-libsci module, which gets loaded via the PrgEnv module
46     # see https://www.nersc.gov/users/software/programming-libraries/math-libraries/libsci/
47     BLAS_MODULE_NAME = [CRAY_LIBSCI_MODULE_NAME]
48 
49     # no need to specify libraries, compiler driver takes care of linking the right libraries
50     # FIXME: need to revisit this, on numpy we ended up with a serial BLAS through the wrapper.
51     BLAS_LIB = []
52     BLAS_LIB_MT = []
53     BLAS_FAMILY = TC_CONSTANT_CRAY_LIBSCI
54 
55     LAPACK_MODULE_NAME = [CRAY_LIBSCI_MODULE_NAME]
56     LAPACK_IS_BLAS = True
57     LAPACK_FAMILY = TC_CONSTANT_CRAY_LIBSCI
58 
59     BLACS_MODULE_NAME = []
60     SCALAPACK_MODULE_NAME = []
61 
62     def _get_software_root(self, name):
63         """Get install prefix for specified software name; special treatment for Cray modules."""
64         if name == 'cray-libsci':
65             # Cray-provided LibSci module
66             env_var = 'CRAY_LIBSCI_PREFIX_DIR'
67             root = os.getenv(env_var, None)
68             if root is None:
69                 raise EasyBuildError("Failed to determine install prefix for %s via $%s", name, env_var)
70             else:
71                 self.log.debug("Obtained install prefix for %s via $%s: %s", name, env_var, root)
72         else:
73             root = super(LibSci, self)._get_software_root(name)
74 
75         return root
76 
77     def _set_blacs_variables(self):
78         """Skip setting BLACS related variables"""
79         pass
80 
81     def _set_scalapack_variables(self):
82         """Skip setting ScaLAPACK related variables"""
83         pass
84 
85     def definition(self):
86         """
87         Filter BLAS module from toolchain definition.
88         The cray-libsci module is loaded indirectly (and versionless) via the PrgEnv module,
89         and thus is not a direct toolchain component.
90         """
91         tc_def = super(LibSci, self).definition()
92         tc_def['BLAS'] = []
93         tc_def['LAPACK'] = []
94         return tc_def
95
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/easybuild/toolchains/linalg/libsci.py b/easybuild/toolchains/linalg/libsci.py
--- a/easybuild/toolchains/linalg/libsci.py
+++ b/easybuild/toolchains/linalg/libsci.py
@@ -48,8 +48,8 @@
 
     # no need to specify libraries, compiler driver takes care of linking the right libraries
     # FIXME: need to revisit this, on numpy we ended up with a serial BLAS through the wrapper.
-    BLAS_LIB = []
-    BLAS_LIB_MT = []
+    BLAS_LIB = ['']
+    BLAS_LIB_MT = ['']
     BLAS_FAMILY = TC_CONSTANT_CRAY_LIBSCI
 
     LAPACK_MODULE_NAME = [CRAY_LIBSCI_MODULE_NAME]

{"golden_diff": "diff --git a/easybuild/toolchains/linalg/libsci.py b/easybuild/toolchains/linalg/libsci.py\n--- a/easybuild/toolchains/linalg/libsci.py\n+++ b/easybuild/toolchains/linalg/libsci.py\n@@ -48,8 +48,8 @@\n \n     # no need to specify libraries, compiler driver takes care of linking the right libraries\n     # FIXME: need to revisit this, on numpy we ended up with a serial BLAS through the wrapper.\n-    BLAS_LIB = []\n-    BLAS_LIB_MT = []\n+    BLAS_LIB = ['']\n+    BLAS_LIB_MT = ['']\n     BLAS_FAMILY = TC_CONSTANT_CRAY_LIBSCI\n \n     LAPACK_MODULE_NAME = [CRAY_LIBSCI_MODULE_NAME]\n", "issue": "Error \"_set_blas_variables: blas_lib not set\" in EasyBuild 3.9.1\nI am getting the following error when I am trying to build LAMMPS with EasyBuild 3.9.1. \r\nFor an extended dry run, the following is included in the logs:\r\n```\r\nWARNING: ignoring error '_set_blas_variables: BLAS_LIB not set'\r\n```\r\n\r\nUsing EasyBuild 3.8.1 the build succeeds. The eb recipe is this https://github.com/eth-cscs/production/blob/master/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Aug2018-CrayGNU-18.08.eb,\n", "before_files": [{"content": "##\n# Copyright 2014-2019 Ghent University\n#\n# This file is part of EasyBuild,\n# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),\n# with support of Ghent University (http://ugent.be/hpc),\n# the Flemish Supercomputer Centre (VSC) (https://www.vscentrum.be),\n# Flemish Research Foundation (FWO) (http://www.fwo.be/en)\n# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).\n#\n# https://github.com/easybuilders/easybuild\n#\n# EasyBuild is free software: you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation v2.\n#\n# EasyBuild is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with EasyBuild.  If not, see <http://www.gnu.org/licenses/>.\n##\n\"\"\"\nSupport for Cray's LibSci library, which provides BLAS/LAPACK support.\ncfr. https://www.nersc.gov/users/software/programming-libraries/math-libraries/libsci/\n\n:author: Petar Forai (IMP/IMBA, Austria)\n:author: Kenneth Hoste (Ghent University)\n\"\"\"\nimport os\n\nfrom easybuild.tools.build_log import EasyBuildError\nfrom easybuild.tools.toolchain.linalg import LinAlg\n\n\nCRAY_LIBSCI_MODULE_NAME = 'cray-libsci'\nTC_CONSTANT_CRAY_LIBSCI = 'CrayLibSci'\n\n\nclass LibSci(LinAlg):\n    \"\"\"Support for Cray's LibSci library, which provides BLAS/LAPACK support.\"\"\"\n    # BLAS/LAPACK support\n    # via cray-libsci module, which gets loaded via the PrgEnv module\n    # see https://www.nersc.gov/users/software/programming-libraries/math-libraries/libsci/\n    BLAS_MODULE_NAME = [CRAY_LIBSCI_MODULE_NAME]\n\n    # no need to specify libraries, compiler driver takes care of linking the right libraries\n    # FIXME: need to revisit this, on numpy we ended up with a serial BLAS through the wrapper.\n    BLAS_LIB = []\n    BLAS_LIB_MT = []\n    BLAS_FAMILY = TC_CONSTANT_CRAY_LIBSCI\n\n    LAPACK_MODULE_NAME = [CRAY_LIBSCI_MODULE_NAME]\n    LAPACK_IS_BLAS = True\n    LAPACK_FAMILY = TC_CONSTANT_CRAY_LIBSCI\n\n    BLACS_MODULE_NAME = []\n    SCALAPACK_MODULE_NAME = []\n\n    def _get_software_root(self, name):\n        \"\"\"Get install prefix for specified software name; special treatment for Cray modules.\"\"\"\n        if name == 'cray-libsci':\n            # Cray-provided LibSci module\n            env_var = 'CRAY_LIBSCI_PREFIX_DIR'\n            root = os.getenv(env_var, None)\n            if root is None:\n                raise EasyBuildError(\"Failed to determine install prefix for %s via $%s\", name, env_var)\n            else:\n                self.log.debug(\"Obtained install prefix for %s via $%s: %s\", name, env_var, root)\n        else:\n            root = super(LibSci, self)._get_software_root(name)\n\n        return root\n\n    def _set_blacs_variables(self):\n        \"\"\"Skip setting BLACS related variables\"\"\"\n        pass\n\n    def _set_scalapack_variables(self):\n        \"\"\"Skip setting ScaLAPACK related variables\"\"\"\n        pass\n\n    def definition(self):\n        \"\"\"\n        Filter BLAS module from toolchain definition.\n        The cray-libsci module is loaded indirectly (and versionless) via the PrgEnv module,\n        and thus is not a direct toolchain component.\n        \"\"\"\n        tc_def = super(LibSci, self).definition()\n        tc_def['BLAS'] = []\n        tc_def['LAPACK'] = []\n        return tc_def\n", "path": "easybuild/toolchains/linalg/libsci.py"}], "after_files": [{"content": "##\n# Copyright 2014-2019 Ghent University\n#\n# This file is part of EasyBuild,\n# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),\n# with support of Ghent University (http://ugent.be/hpc),\n# the Flemish Supercomputer Centre (VSC) (https://www.vscentrum.be),\n# Flemish Research Foundation (FWO) (http://www.fwo.be/en)\n# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).\n#\n# https://github.com/easybuilders/easybuild\n#\n# EasyBuild is free software: you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation v2.\n#\n# EasyBuild is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with EasyBuild.  If not, see <http://www.gnu.org/licenses/>.\n##\n\"\"\"\nSupport for Cray's LibSci library, which provides BLAS/LAPACK support.\ncfr. https://www.nersc.gov/users/software/programming-libraries/math-libraries/libsci/\n\n:author: Petar Forai (IMP/IMBA, Austria)\n:author: Kenneth Hoste (Ghent University)\n\"\"\"\nimport os\n\nfrom easybuild.tools.build_log import EasyBuildError\nfrom easybuild.tools.toolchain.linalg import LinAlg\n\n\nCRAY_LIBSCI_MODULE_NAME = 'cray-libsci'\nTC_CONSTANT_CRAY_LIBSCI = 'CrayLibSci'\n\n\nclass LibSci(LinAlg):\n    \"\"\"Support for Cray's LibSci library, which provides BLAS/LAPACK support.\"\"\"\n    # BLAS/LAPACK support\n    # via cray-libsci module, which gets loaded via the PrgEnv module\n    # see https://www.nersc.gov/users/software/programming-libraries/math-libraries/libsci/\n    BLAS_MODULE_NAME = [CRAY_LIBSCI_MODULE_NAME]\n\n    # no need to specify libraries, compiler driver takes care of linking the right libraries\n    # FIXME: need to revisit this, on numpy we ended up with a serial BLAS through the wrapper.\n    BLAS_LIB = ['']\n    BLAS_LIB_MT = ['']\n    BLAS_FAMILY = TC_CONSTANT_CRAY_LIBSCI\n\n    LAPACK_MODULE_NAME = [CRAY_LIBSCI_MODULE_NAME]\n    LAPACK_IS_BLAS = True\n    LAPACK_FAMILY = TC_CONSTANT_CRAY_LIBSCI\n\n    BLACS_MODULE_NAME = []\n    SCALAPACK_MODULE_NAME = []\n\n    def _get_software_root(self, name):\n        \"\"\"Get install prefix for specified software name; special treatment for Cray modules.\"\"\"\n        if name == 'cray-libsci':\n            # Cray-provided LibSci module\n            env_var = 'CRAY_LIBSCI_PREFIX_DIR'\n            root = os.getenv(env_var, None)\n            if root is None:\n                raise EasyBuildError(\"Failed to determine install prefix for %s via $%s\", name, env_var)\n            else:\n                self.log.debug(\"Obtained install prefix for %s via $%s: %s\", name, env_var, root)\n        else:\n            root = super(LibSci, self)._get_software_root(name)\n\n        return root\n\n    def _set_blacs_variables(self):\n        \"\"\"Skip setting BLACS related variables\"\"\"\n        pass\n\n    def _set_scalapack_variables(self):\n        \"\"\"Skip setting ScaLAPACK related variables\"\"\"\n        pass\n\n    def definition(self):\n        \"\"\"\n        Filter BLAS module from toolchain definition.\n        The cray-libsci module is loaded indirectly (and versionless) via the PrgEnv module,\n        and thus is not a direct toolchain component.\n        \"\"\"\n        tc_def = super(LibSci, self).definition()\n        tc_def['BLAS'] = []\n        tc_def['LAPACK'] = []\n        return tc_def\n", "path": "easybuild/toolchains/linalg/libsci.py"}]}