[Scons-users] Errors in "Using scanners with Builders" example

Andreas Gustafsson gson at gson.org
Tue Jan 30 11:16:31 EST 2024


Hello Mats,

Thank you for your quick response!

You wrote:
> The user guide examples are, in fact, usually processed, to produce the 
> command output you see with many of the examples.  However this example 
> isn't listed as an "scons_example" element, which triggers that 
> processing, but as a plain "programlisting", which gets no processing. 
> Don't know why, perhaps designing a complete runnable example here 
> didn't seem feasible to the author.  I also notice that the earlier 
> example, in section 20.1, *is* entered as an "scons_example", but then 
> the incantation to cause the code to be run and the results captured is 
> commented out.  Will look into why - I'll file the ticket.

Speaking of that example, I found it really confusing.  It starts out
by saying:

  Suppose, for example, that we want to create a simple Scanner
  for .foo files.

but the example code that follows seems to deal with .k files,
not .foo files.

Then, if I want to try actually running the example code, I will
presumably have to create my own "kprocess" script.  But no matter
where I put it, scons won't actually execute it, because of the line

  env = Environment(ENV={'PATH': '/usr/local/bin'})

which overrides the PATH such that scons not only can't find the
kprocess script itself, but apparently can't even find a shell to run
it with.  Even installing the script in /usr/local/bin does not help:

  $ ls -l /usr/local/bin/kprocess
  -rwxr-xr-x 1 gson gson 4 Jan 30 18:00 /usr/local/bin/kprocess
  $ cat /usr/local/bin/kprocess
  cat
  $ scons
  scons: Reading SConscript files ...
  scons: done reading SConscript files.
  scons: Building targets ...
  kprocess < foo.k > foo
  scons: *** [foo] sh: No such file or directory

I figure the PATH override is for the benefit of the automated test,
but surely there is some way to do it without breaking things for
human users.

Regards,
-- 
Andreas Gustafsson, gson at gson.org


More information about the Scons-users mailing list