Opened 5 years ago

Closed 5 years ago

#2747 closed user story (fixed)

Scons 2.4.0 support

Reported by: GaryM Owned by:
Priority: normal Milestone: Iteration I3
Component: infrastructure Keywords:
Cc: Estimated pair-hours remaining: 0
Pair-hours expended on ticket: 1 Initial estimate of effort: 2
Editable by public: yes


Miguel tried it, and it didn't work:

Traceback (most recent call last):
  File "/usr/local/Cellar/scons/2.4.0/libexec/scons-local/SCons/", line 1063, in execute
    result = self.execfunction(target=target, source=rsources, env=env)
  File "python/infra/", line 289, in BuildTest
  File "python/infra/", line 251, in process
    o._chaste_lock = getattr(o, '_chaste_lock', threading.Lock())
AttributeError: 'File' object has no attribute '_chaste_lock'
scons: building terminated because of errors.

We should probably try and get this working for the new release (#2701), and update InstallGuides/DependencyVersions

Change History (3)

comment:1 Changed 5 years ago by GaryM

Release notes for scons are here:

comment:2 Changed 5 years ago by jonc@…

Yeah, it's the use of __slots__ (the important notice) that breaks this. We might need to use our own mapping from Node to locks rather than adding the locks as attributes :(

See also for some related changes to watch out for.

Last edited 5 years ago by jonc@… (previous) (diff)

comment:3 Changed 5 years ago by jonc@…

  • Estimated pair-hours remaining changed from 2 to 0
  • Pair-hours expended on ticket changed from 0 to 1
  • Resolution set to fixed
  • Status changed from new to closed

Fixed in r25445, and tested manually on lofty with ~robert/bin/scons-2.4.0 cl=0 -j12. As you need a different scons executable it's not something we can easily incorporate into the current lofty tests.

Note that when switching scons versions you may need to remove the cell_based/build/* folder if using cl=0 to force recompilation, or get some missing symbol errors. Not sure why!

Note: See TracTickets for help on using tickets.