[Scons-users] strange behavior with path as an array

robert zeigler robert.zeigler at gmail.com
Thu Sep 12 16:18:03 EDT 2013


Let me put this another way.

If I had specified:

PATH=['/path1:/path2']

And I tried a clean build, and scons failed in a way that looked like:

sh: somecommand: not found

Then I would immediately think: "There's a problem with how I declared the
PATH" and go hunt through it.

Instead, the initial build works! It is only on rebuild that the problem is
manifested, and it is manifested in such a bizarre way that as a user,
checking the PATH declaration is about the furthest thing from my head.

And this is, imo, the bug. If it's unsupported, it should really be
unsupported: a clean build should fail. If it's supported, it should be
completely supported.

Robert



On Thu, Sep 12, 2013 at 2:56 PM, robert zeigler <robert.zeigler at gmail.com>wrote:


> That should read:

>

> "I would much rather my build system fail early with a comprehensible

> error message about what's wrong with my build script."

>

>

>

>

> On Thu, Sep 12, 2013 at 2:54 PM, robert zeigler <robert.zeigler at gmail.com>wrote:

>

>> Hi Dirk,

>>

>> I realize the form is invalid, and I don't expect scons to support it. As

>> a user, my expectation is that scons would have detected the unsupported

>> form and thrown an error early. Instead, scons successfully built the

>> project (the first time) but evidently the hashed information about the

>> path is stored in a way that causes scons to think that targets are stale

>> when they are not. I would much rather my build system fail error with a

>> comprehensible error message about what's wrong with my build script.

>>

>> Robert

>>

>>

>>

>>

>> On Thu, Sep 12, 2013 at 1:55 PM, Dirk Bächle <tshortik at gmx.de> wrote:

>>

>>> Hi Robert,

>>>

>>>

>>> On 11.09.2013 00:32, robert zeigler wrote:

>>>

>>>> I think I've uncovered an scons bug (or at least a not-well-documented

>>>> "feature").

>>>>

>>>> [...]

>>>>

>>>>

>>>>

>>>> The problem is this line:

>>>>

>>>> path=['/usr/local/bin:/opt/**bin:/bin:/usr/bin']

>>>>

>>>>

>>> this isn't a supported form of specifying path lists in SCons (and we

>>> don't claim anywhere in our documents and manuals that it would be). For

>>> example, see section "4.3. Finding Libraries: the $LIBPATH Construction

>>> Variable" in the UserGuide where the correct forms

>>>

>>>

>>> If it is specified as:

>>>>

>>>> path='/usr/local/bin:/opt/bin:**/bin:/usr/bin'

>>>>

>>>> Or as:

>>>>

>>>> path=['/usr/local/bin', '/opt/bin', '/bin', '/usr/bin']

>>>>

>>>>

>>> are mentioned the first time.

>>>

>>> Since the offending form is not supported, it can't really be considered

>>> as a bug. Please use the other two methods, they should work as advertised.

>>>

>>> Best regards,

>>>

>>> Dirk

>>>

>>> ______________________________**_________________

>>> Scons-users mailing list

>>> Scons-users at scons.org

>>> http://four.pairlist.net/**mailman/listinfo/scons-users<http://four.pairlist.net/mailman/listinfo/scons-users>

>>>

>>

>>

>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://four.pairlist.net/pipermail/scons-users/attachments/20130912/45ed44a6/attachment.htm


More information about the Scons-users mailing list