[Scons-users] Clone error upgrading from 1.2.0 to 2.2.0
William Deegan
bill at baddogconsulting.com
Wed Sep 26 02:04:15 EDT 2012
Marc,
On Sep 25, 2012, at 3:20 PM, Marc Branchaud <marcnarc at xiplink.com> wrote:
> Hi all,
>
> I'm attempting to upgrade our SCons from 1.2.0.r3842 to 2.2.0, and I'm
> getting an error on a call to env.Clone(): "TypeError: cannot semi_deepcopy a
> BuilderDict".
>
> Here's the stack below the Clone() call in my SConscript:
>
> File "/usr/local/lib/scons-2.2.0/SCons/Environment.py", line 1387:
> clone._dict = semi_deepcopy_dict(self._dict, ['BUILDERS'])
> File "/usr/local/lib/scons-2.2.0/SCons/Util.py", line 451:
> copy[key] = semi_deepcopy(val)
> File "/usr/local/lib/scons-2.2.0/SCons/Util.py", line 466:
> return copier(x)
> File "/usr/local/lib/scons-2.2.0/SCons/Util.py", line 451:
> copy[key] = semi_deepcopy(val)
> File "/usr/local/lib/scons-2.2.0/SCons/Util.py", line 469:
> return x.__semi_deepcopy__()
> File "/usr/local/lib/scons-2.2.0/SCons/Environment.py", line 309:
> raise TypeError( 'cannot semi_deepcopy a BuilderDict' )
>
> This environment is cloned all over the place, so I'd really like this to
> work! The original environment is created with several custom Builders:
>
> e_default = Environment(
> CXXTEST='#/build/unittest/cxxtest/cxxtestgen.py',
> CXXTEST_DIR = '#/build/unittest/cxxtest',
> GMAKE = 'gmake',
> GZIP = 'gzip',
> HOST_ARCH = host_arch,
> HOST_NAME = host_name,
> HOST_OS = host_os,
> HOST_OSVER = host_osver,
> HOST_OSVER_LONG = host_osver_long,
> LAUNCH_DIR = GetLaunchDir(),
> CRYPTO_FREE_PASS = False,
> MAKE = 'make',
> OBJCOPY = 'objcopy',
> ROOT_DIR = os.getcwd(),
> STRIP = 'strip',
> READELF = 'readelf',
> tools = ['default',
> 'AutoConfig',
> 'AutoReconf',
> 'cxxtest',
> 'DetokInstall',
> 'Make',
> 'OpenSSLConfig',
> 'SymLink',
> 'UnTar',
> 'UnZip',
> 'XsltProc'
> ],
> USERNAME = os.environ['LOGNAME'],
> USERGROUP = (grp.getgrgid(pwd.getpwuid(os.getuid())[3])[0]
> if os.getuid() != 0
> else 'wheel' if host_os == 'FreeBSD' else 'root'),
> variables = vars
> )
>
> Do I need to account for some change since 1.2.0? Possibly the fix for issue
> #2821?
Did you check the changes and/or release notes for 1.3.0, 2.0, 2.1, and/or 2.2?
-Bill
More information about the Scons-users
mailing list