[Scons-users] Intermiddent build error on Windows - cl : Command line error D8022 : cannot open 'c:\users\admini~1\appdata\local\temp\tmpekylod.lnk'

Shane Gannon sgannon200 at gmail.com
Tue Sep 6 12:59:10 EDT 2016


Hi all

I'm in the process of upgrading a Windows build machine. It's tool set is
moving to

   - Visual Studio 2015 Update 3
   - scons 2.5.0
   - msbuild 14.0.25420.1

from

   - Visual Studio 2013 Update 4
   - scons 2.3.4
   - msbuild 12.0.31101

But I'm getting an unexpected error.

*cl : Command line error D8022 : cannot open
'c:\users\admini~1\appdata\local\temp\tmpekylod.lnk'*

This can occur once or multiple times in the first clean build. i.e. With
each occurence for a different file name. But if I then run a rebuild the
problem resolves itself.

The .lnk file seems to be SCons specific. It's created in the temp folder
and contains something like

*/nologo /DEBUG /dynamicbase /fixed:no /OPT:REF /OPT:ICF -ignore:4042
-ignore:4042 -ignore:4099 /nologo /DEBUG /dynamicbase /fixed:no /OPT:REF
/OPT:ICF -ignore:4042 /dll /out:mylibrary.dll .......*

i.e. The command to execute.

On Windows *cl* eats this up with

*cl @c:\users\admini~1\appdata\local\temp\tmpekylod.lnk*

and executes with the parameters found in the .lnk file.

AFAIK this behaviour has existed in SCons since version 0.9.

See

http://www.scons.org/CHANGES.txt

*RELEASE 0.90 - Wed, 25 Jun 2003 14:24:52 -0500*

*  - Use '.lnk' as the suffix on the temporary file for linking long
    command lines (necessary for the Phar Lap linkloc linker).*

But, for some reason reason, *some* .lnk files are not generated in
time for me. Hence the build fails.

Is this a known issue? Has it been introduced since scons 2.3.4? Is
there any work around?

I should mention that my builder


   - Is a Windows 10 machine
   - Has 20 cpu cores and runs scons -j 20
   - Has 25Gb of RAM

There may be a parallization problem here. But it is not an issue for
the current build (which also uses -j 20). I experimented with using
-j 10 but the problem persisted.

I also choose to build only a sub-set of the projects. i.e. I excluded
the tests. This allowed the build to pass.

Any thoughts/suggestions?

Regards

Shane
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20160906/36a427d6/attachment.html>


More information about the Scons-users mailing list