使用 -j 选项时未构建 scons

scons is not building when using -j option

我真的不知道如何描述这个问题。 使用 scons -uj4scons -u -j4 构建一直有效,但最近它停止工作了!

运行 scons -uj4scons -u -j4 将 return;

scons: Entering directory `/cygdrive/c/somedir'
scons: Reading SConscript files ...
scons: done reading SConscript files.

运行 scons -u 会显示;

scons: Entering directory `/cygdrive/c/somedir'
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: building associated VariantDir targets: target

我花了很多时间想弄清楚,但没有成功。

提前感谢您的帮助:)

[编辑]

添加了更多必需的信息;

scons: script: v2.4.0.rel_2.4.0:3365:9259ea1c13d7, 2015/09/21 14:03:43, by bdbaddog on hpmicrodog
babun version 1.2.0
uname -a -> CYGWIN_NT-6.1-WOW 2.7.0(0.306/5/3) 2017-02-12 13:13 i686 Cygwin
python --version: Python 2.7.12

一些 Sconscript 优化...

....
AddOption('--optimise', dest='optimised', default=False, action='store_true', help='Optimise Win32 Build')
....
env.SetOption('implicit_cache', 1)
env.SetOption('max_drift', 5)
env.Decider('MD5-timestamp')

我在 scons-2.4.0\SCons\Script\Main.py 中添加了一些断点,发现 scons 在此处崩溃:Job.py(365)init( )

self.tp = ThreadPool(num, stack_size, self.interrupted)

事实证明这个问题(无法使用 -j 选项并行构建)与 Scons 无关,它是由公司的防病毒软件 Trend Micro 引起的。

出于某种原因,趋势科技不允许 cygwin 的 python 创建任何子进程!目前,由于趋势科技是公司政策(不允许卸载),解决方法是使用卸载 cygwin python 并使用 Windows Python(或 Anaconda)。其他人选择使用虚拟机...

谢谢大家