[Scons-dev] unhashable type: 'Literal'' trying to evaluate
Jason Kenny
dragon512 at live.com
Thu Oct 25 11:52:28 EDT 2018
Hi,
I working on getting Parts to work on py3. I think I have most of it working at this point, however I had an error that concerned me:
scons: *** [_build/build_debug_posix-x86_64/hello/hello] TypeError `unhashable type: 'Literal'' trying to evaluate `${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}'
This happens as I tweak the RPATH value with some code like this:
rlst.append(self.env.Literal('{0}$$ORIGIN/{1}{0}'.format(quote, self.env.Dir('$INSTALL_BIN').rel_path(
self.env.Dir('$INSTALL_LIB')))))
should result in a value such as:
["'$$ORIGIN/../lib'"]
This works if I subst() directly at this point. However I am getting a stack ( below as it is long) like this which suggests some new behavior? This code should be fine and should not have broken. There is no funny stuff here in parts.. it a very basic value being set.
Do we know of an issues with Literal() in python 3?
meantime I going to start debugging this "fun" code
- Jason
The stack...
scons: internal stack trace:
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Job.py", line 199, in start
task.prepare()
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Script/Main.py", line 175, in prepare
return SCons.Taskmaster.OutOfDateTask.prepare(self)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Taskmaster.py", line 179, in prepare
self.exception_raise()
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Taskmaster.py", line 554, in _exception_raise
exec("raise exc_value.with_traceback(exc_traceback)")
File "<string>", line 1, in <module>
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Taskmaster.py", line 973, in next_task
task.make_ready()
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Script/Main.py", line 309, in make_ready
SCons.Taskmaster.OutOfDateTask.make_ready(self)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Taskmaster.py", line 409, in make_ready_current
t.disambiguate().make_ready()
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Node/FS.py", line 3055, in make_ready
self.get_binfo()
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Node/__init__.py", line 1136, in get_binfo
binfo.bactsig = SCons.Util.MD5signature(executor.get_contents())
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Executor.py", line 467, in get_contents
for action in action_list])
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Executor.py", line 467, in <listcomp>
for action in action_list])
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Action.py", line 535, in get_contents
result = self.get_presig(target, source, env)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Action.py", line 1112, in get_presig
return c.get_presig(self, target, source, env)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Action.py", line 1049, in get_presig
return self._generate(target, source, env, 1, executor).get_presig(target, source, env)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Action.py", line 1271, in get_presig
return b"".join([bytes(x.get_contents(target, source, env)) for x in self.list])
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Action.py", line 1271, in <listcomp>
return b"".join([bytes(x.get_contents(target, source, env)) for x in self.list])
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Action.py", line 535, in get_contents
result = self.get_presig(target, source, env)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Action.py", line 964, in get_presig
return env.subst_target_source(cmd, SUBST_SIG, target, source)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Environment.py", line 514, in subst
return SCons.Subst.scons_subst(string, self, raw, target, source, gvars, lvars, conv)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Subst.py", line 569, in scons_subst
result = ss.substitute(strSubst, lvars)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Subst.py", line 523, in substitute
result = _dollar_exps.sub(sub_match, args)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Subst.py", line 522, in sub_match
return self.conv(self.expand(match.group(1), lvars))
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Subst.py", line 488, in expand
return self.substitute(s, lv)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Subst.py", line 523, in substitute
result = _dollar_exps.sub(sub_match, args)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Subst.py", line 522, in sub_match
return self.conv(self.expand(match.group(1), lvars))
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Subst.py", line 488, in expand
return self.substitute(s, lv)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Subst.py", line 523, in substitute
result = _dollar_exps.sub(sub_match, args)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Subst.py", line 522, in sub_match
return self.conv(self.expand(match.group(1), lvars))
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Subst.py", line 462, in expand
raise_exception(e, lvars['TARGETS'], s)
File "/home/jkenny/.local/share/virtualenvs/parts-aMB9Fa3Q/lib/python3.6/site-packages/scons-3.0.1/SCons/Subst.py", line 55, in raise_exception
raise SCons.Errors.BuildError(target[0], msg)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20181025/d47a3ebc/attachment.html>
More information about the Scons-dev
mailing list