[Scons-dev] code fails on scons master with python3
Neal Becker
ndbecker2 at gmail.com
Tue Jun 13 10:25:11 EDT 2017
Bill Deegan wrote:
> Can you run with --debug=stacktrace and post the output?
>
> Thanks,
> -Bill
>
> On Tue, Jun 13, 2017 at 8:20 AM, Neal Becker
> <ndbecker2 at gmail.com> wrote:
>
>> This code is failing:
>> RPATH = [Literal(':'.join([ORIGIN + x for x in
>> ':'.join([MKLPATH]).split(':')]))]
>>
>> with error:
>> scons: *** [mkl.cpython-35m-x86_64-linux-gnu.so] TypeError `unhashable
>> type:
>> 'Literal'' trying to evaluate `${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX,
>> __env__)}'
>>
>> But this code succeeds on my own (old) port of scons to python3
>>
>> _______________________________________________
>> Scons-dev mailing list
>> Scons-dev at scons.org
>> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>>
scons: *** [mkl.cpython-35m-x86_64-linux-gnu.so] TypeError `unhashable type:
'Literal'' trying to evaluate `${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX,
__env__)}'
scons: internal stack trace:
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Job.py", line
199, in start
task.prepare()
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Script/Main.py",
line 175, in prepare
return SCons.Taskmaster.OutOfDateTask.prepare(self)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Taskmaster.py",
line 176, in prepare
self.exception_raise()
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Taskmaster.py",
line 551, in _exception_raise
exec("raise exc_value.with_traceback(exc_traceback)")
File "<string>", line 1, in <module>
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Taskmaster.py",
line 971, in next_task
task.make_ready()
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Script/Main.py",
line 309, in make_ready
SCons.Taskmaster.OutOfDateTask.make_ready(self)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Taskmaster.py",
line 406, in make_ready_current
t.disambiguate().make_ready()
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Node/FS.py", line
3024, in make_ready
self.get_binfo()
File "/home/nbecker/scons-
dev/bootstrap/src/engine/SCons/Node/__init__.py", line 1136, in get_binfo
binfo.bactsig = SCons.Util.MD5signature(executor.get_contents())
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Executor.py",
line 467, in get_contents
for action in action_list])
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Executor.py",
line 467, in <listcomp>
for action in action_list])
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Action.py", line
477, in get_contents
result = self.get_presig(target, source, env)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Action.py", line
1213, in get_presig
return b"".join([bytes(x.get_contents(target, source, env)) for x in
self.list])
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Action.py", line
1213, in <listcomp>
return b"".join([bytes(x.get_contents(target, source, env)) for x in
self.list])
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Action.py", line
477, in get_contents
result = self.get_presig(target, source, env)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Action.py", line
1054, in get_presig
return c.get_presig(self, target, source, env)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Action.py", line
906, in get_presig
return env.subst_target_source(cmd, SUBST_SIG, target, source)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Environment.py",
line 514, in subst
return SCons.Subst.scons_subst(string, self, raw, target, source, gvars,
lvars, conv)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
558, in scons_subst
result = ss.substitute(strSubst, lvars)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
512, in substitute
result = _dollar_exps.sub(sub_match, args)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
511, in sub_match
return self.conv(self.expand(match.group(1), lvars))
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
477, in expand
return self.substitute(s, lv)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
512, in substitute
result = _dollar_exps.sub(sub_match, args)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
511, in sub_match
return self.conv(self.expand(match.group(1), lvars))
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
477, in expand
return self.substitute(s, lv)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
512, in substitute
result = _dollar_exps.sub(sub_match, args)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
511, in sub_match
return self.conv(self.expand(match.group(1), lvars))
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
477, in expand
return self.substitute(s, lv)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
512, in substitute
result = _dollar_exps.sub(sub_match, args)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
511, in sub_match
return self.conv(self.expand(match.group(1), lvars))
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
451, in expand
raise_exception(e, lvars['TARGETS'], s)
File "/home/nbecker/scons-dev/bootstrap/src/engine/SCons/Subst.py", line
55, in raise_exception
raise SCons.Errors.BuildError(target[0], msg)
More information about the Scons-dev
mailing list