使用-j选项

时间:2017-05-12 04:26:13

标签: scons

我真的不确定如何描述这个问题。 使用 scons -uj4 scons -u -j4 进行构建始终有效,但最近它停止了工作!

运行 scons -uj4 scons -u -j4 将返回;

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)

1 个答案:

答案 0 :(得分:1)

原来这个问题(无法与-j选项并行构建)与Scons无关,它是由该公司的防病毒软件趋势科技引起的。

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

谢谢大家。