prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Fail to build libmng [AutotoolsPackage]
  @alalazo I got this error while installing `libmng`:
  
  ```
  ...
  ==> Already patched libmng
  ==> Building libmng [AutotoolsPackage]
  ==> Executing phase : 'autoreconf'
  ==> Executing phase : 'configure'
  ==> Error: ProcessError: Command exited with status 1:
      '/my/path/spack/var/spack/stage/libmng-2.0.2-2x5fkukzf3sf4uexegr3n35jwmy5pclu/libmng-2.0.2/configure' '--prefix=/my/path/spack/opt/spack/linux-scientificcernslc6-x86_64/gcc-6.2.0/libmng-2.0.2-2x5fkukzf3sf4uexegr3n35jwmy5pclu'
  /my/path/spack/lib/spack/spack/build_systems/autotools.py:265, in configure:
       258      def configure(self, spec, prefix):
       259          """Runs configure with the arguments specified in :py:meth:`.configure_args`
       260          and an appropriately set prefix.
       261          """
       262          options = ['--prefix={0}'.format(prefix)] + self.configure_args()
       263  
       264          with working_dir(self.build_directory, create=True)
  ```
  
  And this is the spack-build.out:
  
  ```
  ...
  checking for a BSD-compatible install... /usr/bin/install -c
  checking whether build environment is sane... yes
  checking for a thread-safe mkdir -p... /bin/mkdir -p
  checking for gawk... gawk
  checking whether make sets $(MAKE)... yes
  checking whether make supports nested variables... yes
  configure: error: source directory already configured; run "make distclean" there first
  ```
  
  Before merge #2859 I could install it correctly but now I get this, do you think that could be related with the commit or maybe I have to install it in a different way now?
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `var/spack/repos/builtin/packages/libmng/package.py`
  Content:
  ```
  1 ##############################################################################
  2 # Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
  3 # Produced at the Lawrence Livermore National Laboratory.
  4 #
  5 # This file is part of Spack.
  6 # Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
  7 # LLNL-CODE-647188
  8 #
  9 # For details, see https://github.com/llnl/spack
  10 # Please also see the LICENSE file for our notice and the LGPL.
  11 #
  12 # This program is free software; you can redistribute it and/or modify
  13 # it under the terms of the GNU Lesser General Public License (as
  14 # published by the Free Software Foundation) version 2.1, February 1999.
  15 #
  16 # This program is distributed in the hope that it will be useful, but
  17 # WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
  18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
  19 # conditions of the GNU Lesser General Public License for more details.
  20 #
  21 # You should have received a copy of the GNU Lesser General Public
  22 # License along with this program; if not, write to the Free Software
  23 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  24 ##############################################################################
  25 from spack import *
  26 
  27 
  28 class Libmng(AutotoolsPackage):
  29     """libmng -THE reference library for reading, displaying, writing
  30        and examining Multiple-Image Network Graphics.  MNG is the animation
  31        extension to the popular PNG image-format."""
  32     homepage = "http://sourceforge.net/projects/libmng/"
  33     url      = "http://downloads.sourceforge.net/project/libmng/libmng-devel/2.0.2/libmng-2.0.2.tar.gz"
  34 
  35     version('2.0.2', '1ffefaed4aac98475ee6267422cbca55')
  36 
  37     depends_on("jpeg")
  38     depends_on("zlib")
  39     depends_on("lcms")
  40 
  41     def patch(self):
  42         # jpeg requires stdio to beincluded before its headrs.
  43         filter_file(r'^(\#include \<jpeglib\.h\>)',
  44                     '#include<stdio.h>\n\\1', 'libmng_types.h')
  45
  ```
  --- 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()
  
  ```
  
golden_diff: diff --git a/var/spack/repos/builtin/packages/libmng/package.py b/var/spack/repos/builtin/packages/libmng/package.py
  --- a/var/spack/repos/builtin/packages/libmng/package.py
  +++ b/var/spack/repos/builtin/packages/libmng/package.py
  @@ -42,3 +42,7 @@
           # jpeg requires stdio to beincluded before its headrs.
           filter_file(r'^(\#include \<jpeglib\.h\>)',
                       '#include<stdio.h>\n\\1', 'libmng_types.h')
  +
  +    @run_before('configure')
  +    def clean_configure_directory(self):
  +        make('distclean')
  
verification_info: {"golden_diff": "diff --git a/var/spack/repos/builtin/packages/libmng/package.py b/var/spack/repos/builtin/packages/libmng/package.py\n--- a/var/spack/repos/builtin/packages/libmng/package.py\n+++ b/var/spack/repos/builtin/packages/libmng/package.py\n@@ -42,3 +42,7 @@\n         # jpeg requires stdio to beincluded before its headrs.\n         filter_file(r'^(\\#include \\<jpeglib\\.h\\>)',\n                     '#include<stdio.h>\\n\\\\1', 'libmng_types.h')\n+\n+    @run_before('configure')\n+    def clean_configure_directory(self):\n+        make('distclean')\n", "issue": "Fail to build libmng [AutotoolsPackage]\n@alalazo I got this error while installing `libmng`:\r\n\r\n```\r\n...\r\n==> Already patched libmng\r\n==> Building libmng [AutotoolsPackage]\r\n==> Executing phase : 'autoreconf'\r\n==> Executing phase : 'configure'\r\n==> Error: ProcessError: Command exited with status 1:\r\n    '/my/path/spack/var/spack/stage/libmng-2.0.2-2x5fkukzf3sf4uexegr3n35jwmy5pclu/libmng-2.0.2/configure' '--prefix=/my/path/spack/opt/spack/linux-scientificcernslc6-x86_64/gcc-6.2.0/libmng-2.0.2-2x5fkukzf3sf4uexegr3n35jwmy5pclu'\r\n/my/path/spack/lib/spack/spack/build_systems/autotools.py:265, in configure:\r\n     258      def configure(self, spec, prefix):\r\n     259          \"\"\"Runs configure with the arguments specified in :py:meth:`.configure_args`\r\n     260          and an appropriately set prefix.\r\n     261          \"\"\"\r\n     262          options = ['--prefix={0}'.format(prefix)] + self.configure_args()\r\n     263  \r\n     264          with working_dir(self.build_directory, create=True)\r\n```\r\n\r\nAnd this is the spack-build.out:\r\n\r\n```\r\n...\r\nchecking for a BSD-compatible install... /usr/bin/install -c\r\nchecking whether build environment is sane... yes\r\nchecking for a thread-safe mkdir -p... /bin/mkdir -p\r\nchecking for gawk... gawk\r\nchecking whether make sets $(MAKE)... yes\r\nchecking whether make supports nested variables... yes\r\nconfigure: error: source directory already configured; run \"make distclean\" there first\r\n```\r\n\r\nBefore merge #2859 I could install it correctly but now I get this, do you think that could be related with the commit or maybe I have to install it in a different way now?\n", "before_files": [{"content": "##############################################################################\n# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.\n# Produced at the Lawrence Livermore National Laboratory.\n#\n# This file is part of Spack.\n# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.\n# LLNL-CODE-647188\n#\n# For details, see https://github.com/llnl/spack\n# Please also see the LICENSE file for our notice and the LGPL.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU Lesser General Public License (as\n# published by the Free Software Foundation) version 2.1, February 1999.\n#\n# This program is distributed in the hope that it will be useful, but\n# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and\n# conditions of the GNU Lesser General Public License for more details.\n#\n# You should have received a copy of the GNU Lesser General Public\n# License along with this program; if not, write to the Free Software\n# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n##############################################################################\nfrom spack import *\n\n\nclass Libmng(AutotoolsPackage):\n    \"\"\"libmng -THE reference library for reading, displaying, writing\n       and examining Multiple-Image Network Graphics.  MNG is the animation\n       extension to the popular PNG image-format.\"\"\"\n    homepage = \"http://sourceforge.net/projects/libmng/\"\n    url      = \"http://downloads.sourceforge.net/project/libmng/libmng-devel/2.0.2/libmng-2.0.2.tar.gz\"\n\n    version('2.0.2', '1ffefaed4aac98475ee6267422cbca55')\n\n    depends_on(\"jpeg\")\n    depends_on(\"zlib\")\n    depends_on(\"lcms\")\n\n    def patch(self):\n        # jpeg requires stdio to beincluded before its headrs.\n        filter_file(r'^(\\#include \\<jpeglib\\.h\\>)',\n                    '#include<stdio.h>\\n\\\\1', 'libmng_types.h')\n", "path": "var/spack/repos/builtin/packages/libmng/package.py"}], "after_files": [{"content": "##############################################################################\n# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.\n# Produced at the Lawrence Livermore National Laboratory.\n#\n# This file is part of Spack.\n# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.\n# LLNL-CODE-647188\n#\n# For details, see https://github.com/llnl/spack\n# Please also see the LICENSE file for our notice and the LGPL.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU Lesser General Public License (as\n# published by the Free Software Foundation) version 2.1, February 1999.\n#\n# This program is distributed in the hope that it will be useful, but\n# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and\n# conditions of the GNU Lesser General Public License for more details.\n#\n# You should have received a copy of the GNU Lesser General Public\n# License along with this program; if not, write to the Free Software\n# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n##############################################################################\nfrom spack import *\n\n\nclass Libmng(AutotoolsPackage):\n    \"\"\"libmng -THE reference library for reading, displaying, writing\n       and examining Multiple-Image Network Graphics.  MNG is the animation\n       extension to the popular PNG image-format.\"\"\"\n    homepage = \"http://sourceforge.net/projects/libmng/\"\n    url      = \"http://downloads.sourceforge.net/project/libmng/libmng-devel/2.0.2/libmng-2.0.2.tar.gz\"\n\n    version('2.0.2', '1ffefaed4aac98475ee6267422cbca55')\n\n    depends_on(\"jpeg\")\n    depends_on(\"zlib\")\n    depends_on(\"lcms\")\n\n    def patch(self):\n        # jpeg requires stdio to beincluded before its headrs.\n        filter_file(r'^(\\#include \\<jpeglib\\.h\\>)',\n                    '#include<stdio.h>\\n\\\\1', 'libmng_types.h')\n\n    @run_before('configure')\n    def clean_configure_directory(self):\n        make('distclean')\n", "path": "var/spack/repos/builtin/packages/libmng/package.py"}]}