Update the module files for cbtf-krell and openspeedshop (#13400)

* Update the module files for cbtf-krell and openspeedshop adding man paths and needed papi and libmonitor paths.

* Update module files for new API.

* Use the same python for both develop and release branches.
This commit is contained in:
Jim Galarowicz 2019-10-28 17:36:12 -05:00 committed by Adam J. Stewart
parent e5b1dbf4b4
commit 4367e16740
5 changed files with 96 additions and 85 deletions

View File

@ -52,19 +52,22 @@ class CbtfArgonavisGui(QMakePackage):
parallel = False
def setup_environment(self, spack_env, run_env):
"""Set up the compile and runtime environments for a package."""
spack_env.set('BOOSTROOT', self.spec['boost'].prefix)
spack_env.set('CBTF_ROOT', self.spec['cbtf'].prefix)
spack_env.set('CBTF_KRELL_ROOT', self.spec['cbtf-krell'].prefix)
spack_env.set('CBTF_ARGONAVIS_ROOT',
self.spec['cbtf-argonavis'].prefix)
spack_env.set('OSS_CBTF_ROOT', self.spec['openspeedshop-utils'].prefix)
spack_env.set('GRAPHVIZ_ROOT', self.spec['graphviz'].prefix)
spack_env.set('QTGRAPHLIB_ROOT', self.spec['qtgraph'].prefix)
spack_env.set('KRELL_ROOT_MRNET', self.spec['mrnet'].prefix)
spack_env.set('KRELL_ROOT_XERCES', self.spec['xerces-c'].prefix)
spack_env.set('INSTALL_ROOT', self.spec.prefix)
def setup_build_environment(self, env):
"""Set up the build environment for this package."""
env.set('BOOSTROOT', self.spec['boost'].prefix)
env.set('CBTF_ROOT', self.spec['cbtf'].prefix)
env.set('CBTF_KRELL_ROOT', self.spec['cbtf-krell'].prefix)
env.set('CBTF_ARGONAVIS_ROOT',
self.spec['cbtf-argonavis'].prefix)
env.set('OSS_CBTF_ROOT', self.spec['openspeedshop-utils'].prefix)
env.set('GRAPHVIZ_ROOT', self.spec['graphviz'].prefix)
env.set('QTGRAPHLIB_ROOT', self.spec['qtgraph'].prefix)
env.set('KRELL_ROOT_MRNET', self.spec['mrnet'].prefix)
env.set('KRELL_ROOT_XERCES', self.spec['xerces-c'].prefix)
env.set('INSTALL_ROOT', self.spec.prefix)
def setup_run_environment(self, env):
"""Set up the runtime environment for this package."""
# The implementor of qtgraph has set up the library and include
# paths in a non-conventional way. We reflect that here.
@ -74,14 +77,14 @@ def setup_environment(self, spack_env, run_env):
else:
qtgraph_lib_dir = self.spec['qtgraph'].prefix.lib
run_env.prepend_path(
env.prepend_path(
'LD_LIBRARY_PATH', join_path(
qtgraph_lib_dir,
'{0}'.format(self.spec['qt'].version.up_to(3))))
# The openspeedshop libraries are needed to actually load the
# performance information into the GUI.
run_env.prepend_path(
env.prepend_path(
'LD_LIBRARY_PATH', self.spec['openspeedshop-utils'].prefix.lib64)
def qmake_args(self):

View File

@ -41,38 +41,38 @@ class CbtfArgonavis(CMakePackage):
depends_on("boost@1.66.0:1.69.0")
# For MRNet
depends_on("mrnet@5.0.1-3:+cti", when='@develop+cti')
depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop~cti')
depends_on("mrnet@5.0.1-3+cti", when='@1.9.1.0:9999+cti')
depends_on("mrnet@5.0.1-3+lwthreads", when='@1.9.1.0:9999~cti')
depends_on("mrnet@5.0.1-3:+cti", when='@develop+cti', type=('build', 'link', 'run'))
depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop~cti', type=('build', 'link', 'run'))
depends_on("mrnet@5.0.1-3+cti", when='@1.9.1.0:9999+cti', type=('build', 'link', 'run'))
depends_on("mrnet@5.0.1-3+lwthreads", when='@1.9.1.0:9999~cti', type=('build', 'link', 'run'))
# For CBTF
depends_on("cbtf@develop", when='@develop')
depends_on("cbtf@1.9.1.0:9999", when='@1.9.1.0:9999')
depends_on("cbtf@develop", when='@develop', type=('build', 'link', 'run'))
depends_on("cbtf@1.9.1.0:9999", when='@1.9.1.0:9999', type=('build', 'link', 'run'))
# For CBTF with cti
depends_on("cbtf@develop+cti", when='@develop+cti')
depends_on("cbtf@1.9.1.0:9999+cti", when='@1.9.1.0:9999+cti')
depends_on("cbtf@develop+cti", when='@develop+cti', type=('build', 'link', 'run'))
depends_on("cbtf@1.9.1.0:9999+cti", when='@1.9.1.0:9999+cti', type=('build', 'link', 'run'))
# For CBTF with runtime
depends_on("cbtf@develop+runtime", when='@develop+runtime')
depends_on("cbtf@1.9.1.0:9999+runtime", when='@1.9.1.0:9999+runtime')
depends_on("cbtf@develop+runtime", when='@develop+runtime', type=('build', 'link', 'run'))
depends_on("cbtf@1.9.1.0:9999+runtime", when='@1.9.1.0:9999+runtime', type=('build', 'link', 'run'))
# For libmonitor
depends_on("libmonitor@2013.02.18+krellpatch")
depends_on("libmonitor@2013.02.18+krellpatch", type=('build', 'link', 'run'))
# For PAPI
depends_on("papi@5.4.1:")
depends_on("papi@5.4.1:", type=('build', 'link', 'run'))
# For CBTF-KRELL
depends_on("cbtf-krell@develop", when='@develop')
depends_on("cbtf-krell@1.9.1.0:9999", when='@1.9.1.0:9999')
depends_on("cbtf-krell@develop", when='@develop', type=('build', 'link', 'run'))
depends_on("cbtf-krell@1.9.1.0:9999", when='@1.9.1.0:9999', type=('build', 'link', 'run'))
depends_on('cbtf-krell@develop+cti', when='@develop+cti')
depends_on('cbtf-krell@1.9.1.0:9999+cti', when='@1.9.1.0:9999+cti')
depends_on('cbtf-krell@develop+cti', when='@develop+cti', type=('build', 'link', 'run'))
depends_on('cbtf-krell@1.9.1.0:9999+cti', when='@1.9.1.0:9999+cti', type=('build', 'link', 'run'))
depends_on('cbtf-krell@develop+runtime', when='@develop+runtime')
depends_on('cbtf-krell@1.9.1.0:9999+runtime', when='@1.9.1.0:9999+runtime')
depends_on('cbtf-krell@develop+runtime', when='@develop+runtime', type=('build', 'link', 'run'))
depends_on('cbtf-krell@1.9.1.0:9999+runtime', when='@1.9.1.0:9999+runtime', type=('build', 'link', 'run'))
# For CUDA
depends_on("cuda")
@ -105,12 +105,16 @@ def cmake_args(self):
return cmake_args
def setup_environment(self, spack_env, run_env):
def setup_run_environment(self, env):
"""Set up the compile and runtime environments for a package."""
run_env.prepend_path(
env.prepend_path(
'LD_LIBRARY_PATH',
self.spec['cuda'].prefix + '/extras/CUPTI/lib64')
spack_env.prepend_path(
def setup_build_environment(self, env):
"""Set up the compile and runtime environments for a package."""
env.prepend_path(
'LD_LIBRARY_PATH',
self.spec['cuda'].prefix + '/extras/CUPTI/lib64')

View File

@ -83,12 +83,12 @@ class CbtfKrell(CMakePackage):
depends_on("cbtf@1.9.1.0:9999+runtime", when='@1.9.1.0:9999+runtime', type=('build', 'link', 'run'))
# for services and collectors
depends_on("libmonitor@2013.02.18+krellpatch")
depends_on("libmonitor@2013.02.18+krellpatch", type=('build', 'link', 'run'))
depends_on("libunwind", when='@develop')
depends_on("libunwind@1.2.1", when='@1.9.1.0:9999')
depends_on("papi@5.4.1:")
depends_on("papi@5.4.1:", type=('build', 'link', 'run'))
depends_on("llvm-openmp-ompt@tr6_forwards+standalone")
@ -229,15 +229,15 @@ def cmake_args(self):
return cmake_args
def setup_environment(self, spack_env, run_env):
def setup_run_environment(self, env):
"""Set up the compile and runtime environments for a package."""
# Environment settings for cbtf-krell, bin is automatically
# added to the path in the module file
run_env.prepend_path('PATH', self.prefix.sbin)
env.prepend_path('PATH', self.prefix.sbin)
run_env.set('XPLAT_RSH', 'ssh')
run_env.set('MRNET_COMM_PATH', self.prefix.sbin.cbtf_mrnet_commnode)
env.set('XPLAT_RSH', 'ssh')
env.set('MRNET_COMM_PATH', self.prefix.sbin.cbtf_mrnet_commnode)
# Set CBTF_MPI_IMPLEMENTATON to the appropriate mpi implementation
# This is needed by CBTF tools to deploy the correct
@ -246,19 +246,23 @@ def setup_environment(self, spack_env, run_env):
# manually if multiple mpi's are specified in the build
if self.spec.satisfies('+mpich'):
run_env.set('CBTF_MPI_IMPLEMENTATION', "mpich")
env.set('CBTF_MPI_IMPLEMENTATION', "mpich")
if self.spec.satisfies('+mvapich'):
run_env.set('CBTF_MPI_IMPLEMENTATION', "mvapich")
env.set('CBTF_MPI_IMPLEMENTATION', "mvapich")
if self.spec.satisfies('+mvapich2'):
run_env.set('CBTF_MPI_IMPLEMENTATION', "mvapich2")
env.set('CBTF_MPI_IMPLEMENTATION', "mvapich2")
if self.spec.satisfies('+mpt'):
run_env.set('CBTF_MPI_IMPLEMENTATION', "mpt")
env.set('CBTF_MPI_IMPLEMENTATION', "mpt")
if self.spec.satisfies('+openmpi'):
run_env.set('CBTF_MPI_IMPLEMENTATION', "openmpi")
env.set('CBTF_MPI_IMPLEMENTATION', "openmpi")
run_env.set('CBTF_MRNET_BACKEND_PATH',
self.prefix.sbin.cbtf_libcbtf_mrnet_backend)
env.set('CBTF_MRNET_BACKEND_PATH',
self.prefix.sbin.cbtf_libcbtf_mrnet_backend)
env.prepend_path('PATH', self.spec['libmonitor'].prefix.bin)
env.prepend_path('PATH', self.spec['papi'].prefix.bin)
env.prepend_path('PATH', self.spec['mrnet'].prefix.bin)

View File

@ -96,8 +96,7 @@ class OpenspeedshopUtils(CMakePackage):
depends_on("dyninst@develop", when='@develop')
depends_on("dyninst@10:", when='@2.3.1.3:9999')
depends_on("python", when='@develop', type=('build', 'run'))
depends_on("python@2.7.14:2.7.99", when='@2.3.1.3:9999', type=('build', 'run'))
depends_on("python@2.7.14:2.7.99", type=('build', 'run'))
depends_on("libxml2")
@ -269,7 +268,7 @@ def set_mpi_cmake_options(self, spec, cmake_options):
cmake_options.extend(mpi_options)
def setup_environment(self, spack_env, run_env):
def setup_run_environment(self, env):
"""Set up the compile and runtime environments for a package."""
# Find Dyninst library path, this is needed to
@ -281,26 +280,26 @@ def setup_environment(self, spack_env, run_env):
shared=True, recursive=True)
# Set Dyninst RT library path to support OSS loop resolution code
run_env.set('DYNINSTAPI_RT_LIB', dyninst_libdir[0])
env.set('DYNINSTAPI_RT_LIB', dyninst_libdir[0])
# Find openspeedshop library path
oss_libdir = find_libraries(
'libopenss-framework',
root=self.spec['openspeedshop-utils'].prefix,
shared=True, recursive=True)
run_env.prepend_path('LD_LIBRARY_PATH',
os.path.dirname(oss_libdir.joined()))
env.prepend_path('LD_LIBRARY_PATH',
os.path.dirname(oss_libdir.joined()))
run_env.set('OPENSS_RAWDATA_DIR', '.')
env.set('OPENSS_RAWDATA_DIR', '.')
cbtf_mc = '/sbin/cbtf_mrnet_commnode'
cbtf_lmb = '/sbin/cbtf_libcbtf_mrnet_backend'
run_env.set('XPLAT_RSH', 'ssh')
run_env.set('MRNET_COMM_PATH',
join_path(self.spec['cbtf-krell'].prefix + cbtf_mc))
run_env.set('CBTF_MRNET_BACKEND_PATH',
join_path(self.spec['cbtf-krell'].prefix + cbtf_lmb))
run_env.prepend_path('PATH', self.spec['mrnet'].prefix.bin)
run_env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.bin)
run_env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.sbin)
run_env.prepend_path('PATH', self.spec['python'].prefix.bin)
env.set('XPLAT_RSH', 'ssh')
env.set('MRNET_COMM_PATH',
join_path(self.spec['cbtf-krell'].prefix + cbtf_mc))
env.set('CBTF_MRNET_BACKEND_PATH',
join_path(self.spec['cbtf-krell'].prefix + cbtf_lmb))
env.prepend_path('PATH', self.spec['mrnet'].prefix.bin)
env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.bin)
env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.sbin)
env.prepend_path('PATH', self.spec['python'].prefix.bin)

View File

@ -92,8 +92,7 @@ class Openspeedshop(CMakePackage):
depends_on("dyninst@develop", when='@develop')
depends_on("dyninst@10:", when='@2.3.1.3:9999')
depends_on("python", when='@develop', type=('build', 'run'))
depends_on("python@2.7.14:2.7.99", when='@2.3.1.3:9999', type=('build', 'run'))
depends_on("python@2.7.14:2.7.99", type=('build', 'run'))
depends_on("libxml2")
@ -278,7 +277,7 @@ def set_mpi_cmake_options(self, spec, cmake_options):
cmake_options.extend(mpi_options)
def setup_environment(self, spack_env, run_env):
def setup_run_environment(self, env):
"""Set up the compile and runtime environments for a package."""
# Find Dyninst library path, this is needed to
@ -290,9 +289,9 @@ def setup_environment(self, spack_env, run_env):
shared=True, recursive=True)
# Set Dyninst RT library path to support OSS loop resolution code
run_env.set('DYNINSTAPI_RT_LIB', dyninst_libdir[0])
env.set('DYNINSTAPI_RT_LIB', dyninst_libdir[0])
run_env.set('OPENSS_RAWDATA_DIR', '.')
env.set('OPENSS_RAWDATA_DIR', '.')
# Set the openspeedshop plugin path
if os.path.isdir(self.prefix.lib64):
@ -301,13 +300,13 @@ def setup_environment(self, spack_env, run_env):
lib_dir = self.prefix.lib
plugin_path = '/openspeedshop'
oss_plugin_path = lib_dir + plugin_path
run_env.set('OPENSS_PLUGIN_PATH', oss_plugin_path)
env.set('OPENSS_PLUGIN_PATH', oss_plugin_path)
cbtf_mc = '/sbin/cbtf_mrnet_commnode'
cbtf_lmb = '/sbin/cbtf_libcbtf_mrnet_backend'
run_env.set('XPLAT_RSH', 'ssh')
run_env.set('MRNET_COMM_PATH',
join_path(self.spec['cbtf-krell'].prefix + cbtf_mc))
env.set('XPLAT_RSH', 'ssh')
env.set('MRNET_COMM_PATH',
join_path(self.spec['cbtf-krell'].prefix + cbtf_mc))
# Set CBTF_MPI_IMPLEMENTATON to the appropriate mpi implementation
# This is needed by O|SS and CBTF tools to deploy the correct
@ -315,23 +314,25 @@ def setup_environment(self, spack_env, run_env):
# Users may have to set the CBTF_MPI_IMPLEMENTATION variable
# manually if multiple mpi's are specified in the build
if self.spec.satisfies('+mpich'):
run_env.set('CBTF_MPI_IMPLEMENTATION', "mpich")
env.set('CBTF_MPI_IMPLEMENTATION', "mpich")
if self.spec.satisfies('+mvapich'):
run_env.set('CBTF_MPI_IMPLEMENTATION', "mvapich")
env.set('CBTF_MPI_IMPLEMENTATION', "mvapich")
if self.spec.satisfies('+mvapich2'):
run_env.set('CBTF_MPI_IMPLEMENTATION', "mvapich2")
env.set('CBTF_MPI_IMPLEMENTATION', "mvapich2")
if self.spec.satisfies('+mpt'):
run_env.set('CBTF_MPI_IMPLEMENTATION', "mpt")
env.set('CBTF_MPI_IMPLEMENTATION', "mpt")
if self.spec.satisfies('+openmpi'):
run_env.set('CBTF_MPI_IMPLEMENTATION', "openmpi")
env.set('CBTF_MPI_IMPLEMENTATION', "openmpi")
run_env.set('CBTF_MRNET_BACKEND_PATH',
join_path(self.spec['cbtf-krell'].prefix + cbtf_lmb))
run_env.prepend_path('PATH', self.spec['mrnet'].prefix.bin)
run_env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.bin)
run_env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.sbin)
run_env.prepend_path('PATH', self.spec['python'].prefix.bin)
env.set('CBTF_MRNET_BACKEND_PATH',
join_path(self.spec['cbtf-krell'].prefix + cbtf_lmb))
env.prepend_path('PATH', self.spec['mrnet'].prefix.bin)
env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.bin)
env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.sbin)
mpath = '/share/man'
env.prepend_path('MANPATH', self.spec['cbtf-krell'].prefix + mpath)
env.prepend_path('PATH', self.spec['python'].prefix.bin)