diff --git a/easybuild/easyblocks/generic/configuremake.py b/easybuild/easyblocks/generic/configuremake.py index 23db7c0c750..cc51349d695 100644 --- a/easybuild/easyblocks/generic/configuremake.py +++ b/easybuild/easyblocks/generic/configuremake.py @@ -34,9 +34,12 @@ @author: Toon Willems (Ghent University) """ +import stat +import os from easybuild.framework.easyblock import EasyBlock from easybuild.framework.easyconfig import CUSTOM from easybuild.tools.run import run_cmd +from easybuild.tools.filetools import adjust_permissions class ConfigureMake(EasyBlock): @@ -79,6 +82,9 @@ def configure_step(self, cmd_prefix=''): for (key, val) in tar_vars.items(): self.cfg.update('preconfigopts', "%s='%s'" % (key, val)) + # Ensure that configure has the excutable bit set, needed if a patch created configure itself + if os.path.exists('configure'): + adjust_permissions('configure', stat.S_IXUSR, add=True) cmd = "%(preconfigopts)s %(cmd_prefix)s./configure %(prefix_opt)s%(installdir)s %(configopts)s" % { 'preconfigopts': self.cfg['preconfigopts'], 'cmd_prefix': cmd_prefix,