[Scons-users] TeX, PDF, VariantDir + children() and "no such file or directory: '.sconsign.dblite'"

Gary Oberbrunner garyo at oberbrunner.com
Thu May 9 16:55:00 EDT 2013


On Thu, May 9, 2013 at 4:25 PM, Pawel Tomulik <ptomulik at meil.pw.edu.pl>wrote:


> Hi,

>

> I have a simple project with three files:

>

> SConstruct

> src/SConscript

> src/foo.tex

>

> It uses VariantDir and DVI + PDF builders to compile LaTeX document. The

> contents of the files are:

>

> # SConsctruct

> env = Environment(tools = ['latex','dvipdf'])

> VariantDir('build', 'src', duplicate = 1)

> SConscript('build/SConscript', exports = 'env')

>

>

> # src/SConscript

> Import('env')

> dvi = env.DVI('foo.tex')

> pdf = env.PDF(dvi)

> print str(pdf[0].children()) # <- the pdf[0].children() causes the error

>


I'm not 100% certain, but I think a node's children list is memoized, and
asking for it during the SConscript-reading phase (before building has
started) can cause trouble because asking for it causes it to be created,
and since the build phase hasn't started the world isn't set up for that
yet. (Note that .children is deliberately not part of the public API.)

If you can arrange for it to be called as part of a build action, you might
get a better result.

--
Gary
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://four.pairlist.net/pipermail/scons-users/attachments/20130509/bead474a/attachment.html>


More information about the Scons-users mailing list