Some fixups for Adam's callpath and adept-utils packages.
- Make spack packages RPATH *ALL* dependencies (i.e. the whole tree) - prevents callpath link from finding wrong libelf -- always uses the one dyninst used.
This commit is contained in:
@@ -122,7 +122,7 @@ def set_build_environment_variables(pkg):
|
|||||||
|
|
||||||
# Prefixes of all of the package's dependencies go in
|
# Prefixes of all of the package's dependencies go in
|
||||||
# SPACK_DEPENDENCIES
|
# SPACK_DEPENDENCIES
|
||||||
dep_prefixes = [d.package.prefix for d in pkg.spec.dependencies.values()]
|
dep_prefixes = [d.prefix for d in pkg.spec.traverse(root=False)]
|
||||||
path_set(SPACK_DEPENDENCIES, dep_prefixes)
|
path_set(SPACK_DEPENDENCIES, dep_prefixes)
|
||||||
|
|
||||||
# Install prefix
|
# Install prefix
|
||||||
|
@@ -773,7 +773,7 @@ def do_uninstall(self, **kwargs):
|
|||||||
' '.join(formatted_deps))
|
' '.join(formatted_deps))
|
||||||
|
|
||||||
self.remove_prefix()
|
self.remove_prefix()
|
||||||
tty.msg("Successfully uninstalled %s." % self.spec)
|
tty.msg("Successfully uninstalled %s." % self.spec.short_spec)
|
||||||
|
|
||||||
# Once everything else is done, run post install hooks
|
# Once everything else is done, run post install hooks
|
||||||
spack.hooks.post_uninstall(self)
|
spack.hooks.post_uninstall(self)
|
||||||
|
@@ -121,7 +121,7 @@ def which(name, **kwargs):
|
|||||||
|
|
||||||
for dir in path:
|
for dir in path:
|
||||||
exe = os.path.join(dir, name)
|
exe = os.path.join(dir, name)
|
||||||
if os.access(exe, os.X_OK):
|
if os.path.isfile(exe) and os.access(exe, os.X_OK):
|
||||||
return Executable(exe)
|
return Executable(exe)
|
||||||
|
|
||||||
if required:
|
if required:
|
||||||
|
@@ -24,17 +24,18 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
class Adeptutils(Package):
|
class AdeptUtils(Package):
|
||||||
"""LLNL Utility Libraries"""
|
"""Utility libraries for LLNL performance tools."""
|
||||||
|
|
||||||
homepage = "https://github.com/scalability-llnl/adept-utils"
|
homepage = "https://github.com/scalability-llnl/adept-utils"
|
||||||
url = "https://github.com/scalability-llnl/adept-utils/archive/v1.0.tar.gz"
|
url = "https://github.com/scalability-llnl/adept-utils/archive/v1.0.tar.gz"
|
||||||
|
|
||||||
version('1.0', '5c6cd9badce56c945ac8551e34804397')
|
version('1.0', '5c6cd9badce56c945ac8551e34804397')
|
||||||
|
|
||||||
|
depends_on("boost")
|
||||||
depends_on("mpi")
|
depends_on("mpi")
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
cmake("-DCMAKE_INSTALL_PREFIX=" + prefix)
|
cmake(*std_cmake_args)
|
||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
@@ -25,7 +25,8 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
class Callpath(Package):
|
class Callpath(Package):
|
||||||
"""Library for representing callpaths consistently in distributed-memory performance tools."""
|
"""Library for representing callpaths consistently in
|
||||||
|
distributed-memory performance tools."""
|
||||||
|
|
||||||
homepage = "https://github.com/scalability-llnl/callpath"
|
homepage = "https://github.com/scalability-llnl/callpath"
|
||||||
url = "https://github.com/scalability-llnl/callpath/archive/v1.0.1.tar.gz"
|
url = "https://github.com/scalability-llnl/callpath/archive/v1.0.1.tar.gz"
|
||||||
@@ -33,11 +34,11 @@ class Callpath(Package):
|
|||||||
version('1.0.1', '0047983d2a52c5c335f8ba7f5bab2325')
|
version('1.0.1', '0047983d2a52c5c335f8ba7f5bab2325')
|
||||||
|
|
||||||
depends_on("dyninst")
|
depends_on("dyninst")
|
||||||
depends_on("adeptutils")
|
depends_on("adept-utils")
|
||||||
depends_on("mpi")
|
depends_on("mpi")
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
cmake("-DCMAKE_INSTALL_PREFIX=" + prefix,
|
# TODO: offer options for the walker used.
|
||||||
"-DCALLPATH_WALKER=dyninst")
|
cmake('.', "-DCALLPATH_WALKER=dyninst", *std_cmake_args)
|
||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
Reference in New Issue
Block a user