Neal, Could you create a small SConstruct which demonstrates the issue? Or even.. a pull request with a fix.. ;)
-Bill On Tue, Jun 13, 2017 at 10:25 AM, Neal Becker <[email protected]> wrote: > 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 > > <[email protected]> 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 > >> [email protected] > >> 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) > > _______________________________________________ > Scons-dev mailing list > [email protected] > https://pairlist2.pair.net/mailman/listinfo/scons-dev >
_______________________________________________ Scons-dev mailing list [email protected] https://pairlist2.pair.net/mailman/listinfo/scons-dev
