def make_install(self): """ Actual installation - create silent cfg file - execute command """ if LooseVersion(self.version()) >= LooseVersion('4.0.1'): #impi starting from version 4.0.1.x uses standard installation procedure. IntelBase.make_install(self) return None else: #impi up until version 4.0.0.x uses custom installation procedure. silent = \ """ [mpi] INSTALLDIR=%(ins)s LICENSEPATH=%(lic)s INSTALLMODE=NONRPM INSTALLUSER=NONROOT UPDATE_LD_SO_CONF=NO PROCEED_WITHOUT_PYTHON=yes AUTOMOUNTED_CLUSTER=yes EULA=accept [mpi-rt] INSTALLDIR=%(ins)s LICENSEPATH=%(lic)s INSTALLMODE=NONRPM INSTALLUSER=NONROOT UPDATE_LD_SO_CONF=NO PROCEED_WITHOUT_PYTHON=yes AUTOMOUNTED_CLUSTER=yes EULA=accept """ % {'lic':self.license, 'ins':self.installdir} # already in correct directory silentcfg = os.path.join(os.getcwd(), "silent.cfg") try: f = open(silentcfg, 'w') f.write(silent) f.close() except: self.log.exception("Writing silent cfg file %s failed." % silent) tmpdir = os.path.join(os.getcwd(), self.version(), 'mytmpdir') try: os.makedirs(tmpdir) except: self.log.exception("Directory %s can't be created" % (tmpdir)) cmd = "./install.sh --tmp-dir=%s --silent=%s" % (tmpdir, silentcfg) run_cmd(cmd, log_all=True, simple=True)
def make_install(self): """overwrite make_install to add extra symlinks""" IntelBase.make_install(self) # save libdir os.chdir(self.installdir) libglob = 'tbb/libs/intel64/cc*libc*_kernel*' libs = glob.glob(libglob) if len(libs): libdir = libs[-1] # take the last one, should be ordered by cc version. else: self.log.error("No libs found using %s in %s" % (libglob, self.installdir)) self.libdir = libdir self.libpath = "%s/tbb/libs/intel64/%s/" % (self.installdir, libdir) # applications go looking into tbb/lib so we move what's in there to libs # and symlink the right lib from /tbb/libs/intel64/... to lib install_libpath = os.path.join(self.installdir, 'tbb', 'lib') shutil.move(install_libpath, os.path.join(self.installdir, 'tbb', 'libs')) os.symlink(self.libpath, install_libpath)