[Scons-users] Problem upgrading from 3.0.1 to 3.1.2

Mats Wichmann mats at wichmann.us
Sun May 17 10:08:33 EDT 2020


On 5/17/20 2:12 AM, Steve Hill (Wireless) via Scons-users wrote:
> Thanks David. I think that splitdrive was modified to require a PathLike
> in Python 3.

"accept", not "require". In fact, that change is fairly recent:

  Changed in version 3.6: Accepts a path-like object.

There is, fwiw, a notation to consider whether path-like objects need to
be explicitly supported in SCons
(https://github.com/SCons/scons/issues/3442) but path-like objects
aren't the problem here.  As is often the case with issues like this,
there are two contributors:

- it's not safe to call pure Python functions passing them SCons
objects. This is a very common trap - the configuration file language is
Python, so just do whatever Python-y things you need to do. Excecpt,
Python doesn't know about object types defined only in SCons, and you
get what you get. In this case a failure.
- SCons covers up the error so you don't see it and instead things go on
giving odd results. That's a problem on scons' part.


More information about the Scons-users mailing list