[Scons-users] Builder or Action bug Scons v2.3.0

William Blevins wblevins001 at gmail.com
Mon Jan 18 11:15:40 EST 2016


Sorry python older than 2.6; I had a mental lapse.

On Mon, Jan 18, 2016 at 4:14 PM, William Blevins <wblevins001 at gmail.com>
wrote:

> Chances are version >2.3.0 aren't working for your because you are using
> python 2.6 or older. What version of python are you running?
>
> On Mon, Jan 18, 2016 at 3:47 PM, Dan McNaul <danmcnaul at gmail.com> wrote:
>
>> I think I found a bug in v2.3.0.  I installed v2.4.1 to test this case,
>> but v2.4.1 doesn't like any of my SConscripts and never gets to the build
>> step. I have too many SConscripts to investigate v2.4.1's issues, so I
>> wasn't able to run a regression test.  All the later 2.3 versions
>> (v2.3.[1-4]) have bugs in them that prevent code from building, so I can't
>> regression test those versions either.
>>
>> I'll document the bug anyway in case you want to hear it.
>>
>> ==========================================
>>
>> I need an Oracle Pro*C builder.  I decided that I should learn how to
>> write a proper TOOL, so I copied the example found at
>>
>> https://bitbucket.org/scons/scons/wiki/ToolsForFools
>>
>> I modified the code to work for Ora_Pro*C pre-compiler and this is the
>> bug I found.
>>
>> My Builder/Tool code is attached as "__init__.py"
>>
>> My SConscript is attached as "SConscript".
>>
>> My build log is attached as "save_this_bld.out".  I edited the log to cut
>> through the noise and show the actual bug.
>>
>> ============================================
>>
>> In the log at lines 3 and 4 we see the TRACE messages of scons
>> instantiating my Builder/Tool and calling function 'generator()' which then
>> calls '_detect' to detect/find the proc executable.   Good.
>>
>> We then see lines 6 thru 23 TRACE messages from the 'ProC()' function
>> working the list of *.pc files I sent it via my SConscript.  Pay attention
>> to the 'lname=xxxxxxx.lis' parameter I'm passing into the Oracle proc
>> pre-compiler.  They are $TARGET.dir/<sourcename>.lis.   Good.
>>
>> But then, and here's the bug, look at the lines that execute the Oracle
>> proc.  Line 30, for example.  Notice that lname= magically changed to the
>> last file in the list passed to "ProC()", work_by_band.lis.  Line 30 should
>> still say 'canadian_cross.lis', but it has changed to the last file in the
>> list 'work_by_band.lis'.  This is true all the way down the line.  Lines
>> 44, 58, 77, 91, and 105.  Except, of course, line 105 is 'work_by_band.pc',
>> so it should be 'work_by_band.lis'.
>>
>> =====================================
>>
>> As a side note.....  The scons -c works well.  The work_by_band.lis is
>> cleaned up.  This bug is not a show stopper for me, because the errors (if
>> any) are in the log, so because the "LIS" file gets over-written every time
>> is of little consequence to me.  I can use the TOOL the way it works.  For
>> the next builder, however, this may not be the case so I wanted to report
>> it.
>>
>>
>> Dan McNaul
>>
>>
>>
>>
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20160118/153c613d/attachment.html>


More information about the Scons-users mailing list