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:
Todd Gamblin
2014-09-16 21:52:39 -07:00
parent 656cf12cda
commit a4c8e945c7
5 changed files with 12 additions and 10 deletions

View File

@@ -122,7 +122,7 @@ def set_build_environment_variables(pkg):
# Prefixes of all of the package's dependencies go in
# 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)
# Install prefix

View File

@@ -773,7 +773,7 @@ def do_uninstall(self, **kwargs):
' '.join(formatted_deps))
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
spack.hooks.post_uninstall(self)

View File

@@ -121,7 +121,7 @@ def which(name, **kwargs):
for dir in path:
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)
if required:

View File

@@ -24,17 +24,18 @@
##############################################################################
from spack import *
class Adeptutils(Package):
"""LLNL Utility Libraries"""
class AdeptUtils(Package):
"""Utility libraries for LLNL performance tools."""
homepage = "https://github.com/scalability-llnl/adept-utils"
url = "https://github.com/scalability-llnl/adept-utils/archive/v1.0.tar.gz"
version('1.0', '5c6cd9badce56c945ac8551e34804397')
depends_on("boost")
depends_on("mpi")
def install(self, spec, prefix):
cmake("-DCMAKE_INSTALL_PREFIX=" + prefix)
cmake(*std_cmake_args)
make()
make("install")

View File

@@ -25,7 +25,8 @@
from spack import *
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"
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')
depends_on("dyninst")
depends_on("adeptutils")
depends_on("adept-utils")
depends_on("mpi")
def install(self, spec, prefix):
cmake("-DCMAKE_INSTALL_PREFIX=" + prefix,
"-DCALLPATH_WALKER=dyninst")
# TODO: offer options for the walker used.
cmake('.', "-DCALLPATH_WALKER=dyninst", *std_cmake_args)
make()
make("install")