diff --git a/easybuild/easyblocks/q/qt.py b/easybuild/easyblocks/q/qt.py index cefa4b471e..cff7b5c1b3 100644 --- a/easybuild/easyblocks/q/qt.py +++ b/easybuild/easyblocks/q/qt.py @@ -34,6 +34,7 @@ from easybuild.easyblocks.generic.configuremake import ConfigureMake from easybuild.framework.easyconfig import CUSTOM from easybuild.tools.build_log import EasyBuildError +from easybuild.tools.filetools import apply_regex_substitutions from easybuild.tools.run import run_cmd_qa from easybuild.tools.systemtools import get_shared_lib_ext @@ -62,7 +63,13 @@ def configure_step(self): elif comp_fam in [toolchain.GCC]: #@UndefinedVariable platform = 'linux-g++-64' elif comp_fam in [toolchain.INTELCOMP]: #@UndefinedVariable - platform = 'linux-icc-64' + if LooseVersion(self.version) >= LooseVersion('4'): + platform = 'linux-icc-64' + else: + platform = 'linux-icc' + # fix -fPIC flag (-KPIC is not correct for recent Intel compilers) + qmake_conf = os.path.join('mkspecs', platform, 'qmake.conf') + apply_regex_substitutions(qmake_conf, [('-KPIC', '-fPIC')]) if platform: self.cfg.update('configopts', "-platform %s" % platform) @@ -102,13 +109,21 @@ def build_step(self): def sanity_check_step(self): """Custom sanity check for Qt.""" - libversion = '' - if LooseVersion(self.version) >= LooseVersion('5'): - libversion = self.version.split('.')[0] + shlib_ext = get_shared_lib_ext() + + if LooseVersion(self.version) >= LooseVersion('4'): + libversion = '' + if LooseVersion(self.version) >= LooseVersion('5'): + libversion = self.version.split('.')[0] + + libfile = os.path.join('lib', 'libQt%sCore.%s' % (libversion, shlib_ext)) + + else: + libfile = os.path.join('lib', 'libqt.%s' % shlib_ext) custom_paths = { - 'files': ["lib/libQt%sCore.%s" % (libversion, get_shared_lib_ext())], - 'dirs': ["bin", "include", "plugins"], + 'files': [libfile], + 'dirs': ['bin', 'include', 'plugins'], } super(EB_Qt, self).sanity_check_step(custom_paths=custom_paths)