[Scons-users] Problems with env.Install()

Michel Lestrade michel.lestrade at crosslight.com
Thu Jan 24 18:59:30 EST 2013


Hi,

I think the documentation is pretty clear that you can install multiple
targets at the same time but I have some trouble making that work.

What I am doing is building up a list of DLLs used by my test programs
in environment variable and then installing those in my build folders:


> env['DLLS'] = SCons.Node.NodeList()

> .....

> env.Append(DLLS=pthread[0])

> etc .... (more DLLS added in SConscript)


The list appears to be populated correctly but env.Install() only
copies the last item:


> for x in env['DLLS']: print 'Debug:', x.abspath

> env.Install('scotch_dll',env['DLLS'])


which produces the following output:


> Debug: D:\Source\MUMPS_scons\build\pthread64\pthread64.dll

> Debug: D:\Source\MUMPS_scons\build\scotch64\scotch_wexit64.dll

> scons: done reading SConscript files.

> scons: Building targets ...

> Install file: "build\scotch64\scotch_wexit64.dll" as

> "build\scotch64\scotch_dll\

> scotch_wexit64.dll"

> scons: done building targets.


Before doing this, I deleted all the DLLs in that folder so it is not
simply that this single build target was missing. After scons finishes,
only 1 DLL is in my scotch_dll directory instead of the expected 2. It's
maddening that something so simple does not work. Even doing it the
brute force way (for x in env['DLLS']: env.Install('scotch_dll',x))
produces the same behavior.

As a complete newbie, am I missing something obvious ?

Michel Lestrade





More information about the Scons-users mailing list