update filename used for cc wrapper invocation debug log (#5837)
The name of the debug log written by the cc compiler wrapper was given by Spec.short_spec, which includes the architecture. Somewhere along the line Spec.format started adding spaces around the architecture property so the filename started including spaces; the cc wrapper script appears to ignore this, so files like spack-cc-bzip2-....in.log (which record the wrapped compiler invocations) were not being generated. This uses a different format string from the spec to generate the wrapper log file names (which does not include spaces).
This commit is contained in:
parent
60a485591c
commit
3eb59f6932
3 changed files with 8 additions and 3 deletions
5
lib/spack/env/cc
vendored
5
lib/spack/env/cc
vendored
|
@ -45,6 +45,7 @@ parameters=(
|
|||
SPACK_PREFIX
|
||||
SPACK_ENV_PATH
|
||||
SPACK_DEBUG_LOG_DIR
|
||||
SPACK_DEBUG_LOG_ID
|
||||
SPACK_COMPILER_SPEC
|
||||
SPACK_CC_RPATH_ARG
|
||||
SPACK_CXX_RPATH_ARG
|
||||
|
@ -355,8 +356,8 @@ fi
|
|||
# Write the input and output commands to debug logs if it's asked for.
|
||||
#
|
||||
if [[ $SPACK_DEBUG == TRUE ]]; then
|
||||
input_log="$SPACK_DEBUG_LOG_DIR/spack-cc-$SPACK_SHORT_SPEC.in.log"
|
||||
output_log="$SPACK_DEBUG_LOG_DIR/spack-cc-$SPACK_SHORT_SPEC.out.log"
|
||||
input_log="$SPACK_DEBUG_LOG_DIR/spack-cc-$SPACK_DEBUG_LOG_ID.in.log"
|
||||
output_log="$SPACK_DEBUG_LOG_DIR/spack-cc-$SPACK_DEBUG_LOG_ID.out.log"
|
||||
echo "[$mode] $command $input_command" >> "$input_log"
|
||||
echo "[$mode] ${full_command[@]}" >> "$output_log"
|
||||
fi
|
||||
|
|
|
@ -91,6 +91,7 @@
|
|||
SPACK_INSTALL = 'SPACK_INSTALL'
|
||||
SPACK_DEBUG = 'SPACK_DEBUG'
|
||||
SPACK_SHORT_SPEC = 'SPACK_SHORT_SPEC'
|
||||
SPACK_DEBUG_LOG_ID = 'SPACK_DEBUG_LOG_ID'
|
||||
SPACK_DEBUG_LOG_DIR = 'SPACK_DEBUG_LOG_DIR'
|
||||
|
||||
|
||||
|
@ -297,6 +298,7 @@ def set_build_environment_variables(pkg, env, dirty):
|
|||
if spack.debug:
|
||||
env.set(SPACK_DEBUG, 'TRUE')
|
||||
env.set(SPACK_SHORT_SPEC, pkg.spec.short_spec)
|
||||
env.set(SPACK_DEBUG_LOG_ID, pkg.spec.format('${PACKAGE}-${HASH:7}'))
|
||||
env.set(SPACK_DEBUG_LOG_DIR, spack.spack_working_dir)
|
||||
|
||||
# Add any pkgconfig directories to PKG_CONFIG_PATH
|
||||
|
|
|
@ -70,8 +70,10 @@ def setUp(self):
|
|||
os.environ['SPACK_PREFIX'] = self.prefix
|
||||
os.environ['SPACK_ENV_PATH'] = "test"
|
||||
os.environ['SPACK_DEBUG_LOG_DIR'] = "."
|
||||
os.environ['SPACK_DEBUG_LOG_ID'] = "foo-hashabc"
|
||||
os.environ['SPACK_COMPILER_SPEC'] = "gcc@4.4.7"
|
||||
os.environ['SPACK_SHORT_SPEC'] = "foo@1.2"
|
||||
os.environ['SPACK_SHORT_SPEC'] = (
|
||||
"foo@1.2 arch=linux-rhel6-x86_64 /hashabc")
|
||||
|
||||
os.environ['SPACK_CC_RPATH_ARG'] = "-Wl,-rpath,"
|
||||
os.environ['SPACK_CXX_RPATH_ARG'] = "-Wl,-rpath,"
|
||||
|
|
Loading…
Reference in a new issue