[Scons-dev] code fails on scons master with python3
Bill Deegan
bill at baddogconsulting.com
Tue Jun 13 10:43:46 EDT 2017
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 <ndbecker2 at gmail.com> 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
> > <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)
>
> _______________________________________________
> Scons-dev mailing list
> Scons-dev at scons.org
> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20170613/93a1706b/attachment-0001.html>
More information about the Scons-dev
mailing list