Fix build of krell tools to use spack with minimal impact on rest of spack packages.

This commit is contained in:
Jim Galarowicz 2015-12-13 17:13:34 -08:00
parent 0fc83ba999
commit 8df4fd9e94
7 changed files with 51 additions and 65 deletions

View file

@ -15,12 +15,6 @@ class Binutils(Package):
variant('libiberty', default=False, description='Also install libiberty.')
variant('libiberty', default=False, description='Also install libiberty.')
variant('libiberty', default=False, description='Also install libiberty.')
variant('libiberty', default=False, description='Also install libiberty.')
def install(self, spec, prefix):
configure_args = [
'--prefix=%s' % prefix,

View file

@ -58,7 +58,8 @@ def url_for_version(self, version):
parts = [str(p) for p in Version(version)]
dots = ".".join(parts)
underscores = "_".join(parts)
return "http://downloads.sourceforge.net/project/boost/boost/%s/boost_%s.tar.bz2" % (
#return "http://downloads.sourceforge.net/project/boost/boost/%s/boost_%s.tar.bz2" % (
return "http://downloads.sourceforge.net/project/boost/boost/%s.0/boost_%s_0.tar.bz2" % (
dots, underscores)
def determine_toolset(self):

View file

@ -38,8 +38,8 @@ class CbtfKrell(Package):
depends_on("binutils@2.24+krellpatch")
# collectionTool
depends_on("boost@1.42:")
depends_on("dyninst@8.2.1:+krelloptions")
depends_on("boost@1.50")
depends_on("dyninst@8.2.1")
depends_on("mrnet@4.1.0:+krelloptions")
depends_on("xerces-c@3.1.1:")
depends_on("cbtf")
@ -64,8 +64,8 @@ def install(self, spec, prefix):
# FIXME - hard code path until external package support is available
# Need to change this path and/or add additional paths for MPI experiment support on different platforms
openmpi_prefix_path = "/opt/openmpi-1.8.2"
mvapich_prefix_path = "/usr/local/tools/mvapich-gnu"
#openmpi_prefix_path = "/opt/openmpi-1.8.2"
#mvapich_prefix_path = "/usr/local/tools/mvapich-gnu"
# Other possibilities, they will need a -DMVAPICH_DIR=, etc clause in the cmake command to be recognized
# mvapich_prefix_path = "<mvapich install path>"
@ -76,18 +76,22 @@ def install(self, spec, prefix):
# Add in paths for cuda if requested via the cuda variant
# FIXME - hard code path until external package support is available
if '+cuda' in spec:
cuda_prefix_path = "/usr/local/cuda-6.0"
cupti_prefix_path = "/usr/local/cuda-6.0/extras/CUPTI"
else:
cuda_prefix_path = ""
cupti_prefix_path = ""
#if '+cuda' in spec:
# cuda_prefix_path = "/usr/local/cuda-6.0"
# cupti_prefix_path = "/usr/local/cuda-6.0/extras/CUPTI"
#else:
# cuda_prefix_path = ""
# cupti_prefix_path = ""
#'-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix,
#'-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
#'-DMPICH_DIR=%s' % spec['mpich'].prefix,
#'-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
#'-DLIB_SUFFIX=64',
#'-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix,
#'-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
#'-DMPICH_DIR=%s' % spec['mpich'].prefix,
#'-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
#'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
#'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
#'-DLIB_SUFFIX=64',
#'-DCUDA_DIR=%s' % cuda_prefix_path,
#'-DCUPTI_DIR=%s' % cupti_prefix_path,
# Build cbtf-krell with cmake
with working_dir('build_cbtf_krell', create=True):
@ -104,10 +108,6 @@ def install(self, spec, prefix):
'-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
'-DCUDA_DIR=%s' % cuda_prefix_path,
'-DCUPTI_DIR=%s' % cupti_prefix_path,
'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
*std_cmake_args)
make("clean")

View file

@ -31,7 +31,7 @@ class CbtfLanl(Package):
# Dependencies for cbtf-krell
depends_on("boost@1.42:")
depends_on("boost@1.50")
depends_on("mrnet@4.1.0+krelloptions")
depends_on("xerces-c@3.1.1:")
depends_on("cbtf")

View file

@ -38,8 +38,6 @@ class Dyninst(Package):
version('8.1.1', 'd1a04e995b7aa70960cd1d1fac8bd6ac',
url="http://www.paradyn.org/release8.1/DyninstAPI-8.1.1.tgz")
variant('krelloptions', default=False, description="build dyninst includes into include/dyninst.")
depends_on("libelf")
depends_on("libdwarf")
depends_on("boost@1.42:")
@ -50,28 +48,15 @@ def install(self, spec, prefix):
libdwarf = spec['libdwarf'].prefix
with working_dir('spack-build', create=True):
# cbtf-krell and openspeedshop expect to reference dyninst/include, so adding include specification to that end
if '+krelloptions' in spec:
cmake('..',
'-DINSTALL_INCLUDE_DIR=%s' % join_path(self.prefix.include, 'dyninst'),
'-DBoost_INCLUDE_DIR=%s' % spec['boost'].prefix.include,
'-DBoost_LIBRARY_DIR=%s' % spec['boost'].prefix.lib,
'-DBoost_NO_SYSTEM_PATHS=TRUE',
'-DLIBELF_INCLUDE_DIR=%s' % join_path(libelf.include, 'libelf'),
'-DLIBELF_LIBRARIES=%s' % join_path(libelf.lib, 'libelf.so'),
'-DLIBDWARF_INCLUDE_DIR=%s' % libdwarf.include,
'-DLIBDWARF_LIBRARIES=%s' % join_path(libdwarf.lib, 'libdwarf.so'),
*std_cmake_args)
else:
cmake('..',
'-DBoost_INCLUDE_DIR=%s' % spec['boost'].prefix.include,
'-DBoost_LIBRARY_DIR=%s' % spec['boost'].prefix.lib,
'-DBoost_NO_SYSTEM_PATHS=TRUE',
'-DLIBELF_INCLUDE_DIR=%s' % join_path(libelf.include, 'libelf'),
'-DLIBELF_LIBRARIES=%s' % join_path(libelf.lib, 'libelf.so'),
'-DLIBDWARF_INCLUDE_DIR=%s' % libdwarf.include,
'-DLIBDWARF_LIBRARIES=%s' % join_path(libdwarf.lib, 'libdwarf.so'),
*std_cmake_args)
cmake('..',
'-DBoost_INCLUDE_DIR=%s' % spec['boost'].prefix.include,
'-DBoost_LIBRARY_DIR=%s' % spec['boost'].prefix.lib,
'-DBoost_NO_SYSTEM_PATHS=TRUE',
'-DLIBELF_INCLUDE_DIR=%s' % join_path(libelf.include, 'libelf'),
'-DLIBELF_LIBRARIES=%s' % join_path(libelf.lib, 'libelf.so'),
'-DLIBDWARF_INCLUDE_DIR=%s' % libdwarf.include,
'-DLIBDWARF_LIBRARIES=%s' % join_path(libdwarf.lib, 'libdwarf.so'),
*std_cmake_args)
make()
make("install")

View file

@ -28,9 +28,14 @@ class Openspeedshop(Package):
as open source code primarily under LGPL.
"""
homepage = "http://www.openspeedshop.org"
url = "http://sourceforge.net/projects/openss/files/openss/openspeedshop-2.1/openspeedshop-2.1.tar.gz/download"
version('2.1', 'bdaa57c1a0db9d0c3e0303fd8496c507')
url = "http://sourceforge.net/projects/openss/files/openss/openspeedshop-2.2/openspeedshop-2.2.tar.gz/download"
version('2.2', '16cb051179c2038de4e8a845edf1d573')
#homepage = "http://www.openspeedshop.org"
#url = "http://sourceforge.net/projects/openss/files/openss/openspeedshop-2.1/openspeedshop-2.1.tar.gz/download"
#version('2.1', 'bdaa57c1a0db9d0c3e0303fd8496c507')
# optional mirror template
#url = "file:/g/g24/jeg/openspeedshop-2.1.tar.gz"
@ -40,7 +45,7 @@ class Openspeedshop(Package):
parallel = False
variant('offline', default=False, description="build with offline instrumentor enabled.")
variant('offline', default=True, description="build with offline instrumentor enabled.")
variant('cbtf', default=False, description="build with cbtf instrumentor enabled.")
variant('runtime', default=False, description="build only the runtime libraries and collectors.")
variant('frontend', default=False, description="build only the front-end tool using the runtime_dir to point to the target build.")
@ -58,8 +63,8 @@ class Openspeedshop(Package):
depends_on("libelf")
depends_on("libdwarf")
depends_on("sqlite")
depends_on("boost@1.42:")
depends_on("dyninst@8.2.1:+krelloptions")
depends_on("boost@1.50")
depends_on("dyninst@8.2.1")
depends_on("python")
depends_on("qt@3.3.8b+krellpatch")
@ -79,15 +84,17 @@ class Openspeedshop(Package):
def install(self, spec, prefix):
openmpi_prefix_path = "/opt/openmpi-1.8.2"
mvapich_prefix_path = "/usr/local/tools/mvapich-gnu"
#openmpi_prefix_path = "/opt/openmpi-1.8.2"
#mvapich_prefix_path = "/usr/local/tools/mvapich-gnu"
#'-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
#'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
#'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
# FIXME: How do we make this dynamic in spack? That is, can we specify the paths to cuda dynamically?
# WAITING for external package support.
if '+cuda' in spec:
cuda_prefix_path = "/usr/local/cuda-6.0"
cupti_prefix_path = "/usr/local/cuda-6.0/extras/CUPTI"
#if '+cuda' in spec:
# cuda_prefix_path = "/usr/local/cuda-6.0"
# cupti_prefix_path = "/usr/local/cuda-6.0/extras/CUPTI"
if '+offline' in spec:
instrumentor_setting = "offline"
@ -100,8 +107,6 @@ def install(self, spec, prefix):
'-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
'-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
'-DPAPI_DIR=%s' % spec['papi'].prefix,
'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
*std_cmake_args)
make("clean")
make()
@ -110,6 +115,8 @@ def install(self, spec, prefix):
cmake_prefix_path = join_path(spec['dyninst'].prefix)
with working_dir('build', create=True):
#python_vers=join_path(spec['python'].version[:2])
#'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
#'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
python_vers='%d.%d' % spec['python'].version[:2]
cmake('..',
'-DCMAKE_INSTALL_PREFIX=%s' % prefix,
@ -130,8 +137,6 @@ def install(self, spec, prefix):
'-DBoost_NO_SYSTEM_PATHS=TRUE',
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
'-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
*std_cmake_args)
make("clean")
make()

View file

@ -12,6 +12,7 @@ class Papi(Package):
across the hardware and software stack."""
homepage = "http://icl.cs.utk.edu/papi/index.html"
url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.4.1.tar.gz"
version('5.4.1', '9134a99219c79767a11463a76b0b01a2')
version('5.3.0', '367961dd0ab426e5ae367c2713924ffb')