Linux 为什么buildmaster不配置buildslave的ENV?

Linux 为什么buildmaster不配置buildslave的ENV?,linux,buildbot,Linux,Buildbot,我在buildbot上面临一个非常奇怪的问题,设置env属性。 奇怪的是,我有一些配置,其中env配置按预期工作 显示不当行为的场景如下所示: buildmaster v0.8.8使用python 2.7在gentoo上运行 buildlslave v.0.8.9在CentOs 5.10和python 2.6上运行 从机具有以下shell命令: qmake = ShellCommand( command = ["qmake"], warnOnWarnings = True, halt

我在buildbot上面临一个非常奇怪的问题,设置env属性。 奇怪的是,我有一些配置,其中env配置按预期工作

显示不当行为的场景如下所示:

buildmaster v0.8.8使用python 2.7在gentoo上运行 buildlslave v.0.8.9在CentOs 5.10和python 2.6上运行 从机具有以下shell命令:

qmake = ShellCommand(
  command = ["qmake"],
  warnOnWarnings = True,
  haltOnFailure = True,
  workdir = nr.iqac_platform_build_root,
  name = "qmake",
  env = nr.centos510_64bit_env_dict )
在哪里

centos510_64bit_env_dict = { 'PATH': ["/usr/local/Trolltech/Qt-4.8.5/bin", "${PATH}"] }
问题是环境设置不正确,shell命令失败。 从主日志中,我可以看到:

2014-08-09 16:14:05+0200 [-] ShellCommand.startCommand(cmd=<RemoteShellCommand '['qmake']'>)
2014-08-09 16:14:05+0200 [-]   cmd.args = {'workdir': 'build/nr_libs/uniqlogger/lib', 'timeout': 1200, 'env': None, 'want_stdout': 1, 'usePTY': 'slave-config', 'maxTime': None, 'logEnviron': True, 'initial_stdin': None, 'want_stderr': 1, 'logfiles': {}}
2014-08-09 16:14:05+0200 [-] <RemoteShellCommand '['qmake']'>: RemoteCommand.run [6]
2014-08-09 16:14:05+0200 [-] command '['qmake']' in dir 'build/nr_libs/uniqlogger/lib'
2014-08-09 16:14:05+0200 [Broker,0,192.168.23.230] <RemoteShellCommand '['qmake']'> rc=1
2014-08-09 16:14:05+0200 [-] closing log <buildbot.status.logfile.LogFile instance at 0x20ba488>
2014-08-09 16:14:05+0200 [-] releaseLocks(<buildbot.steps.shell.ShellCommand object at 0x20943d0>): []
2014-08-09 16:14:05+0200 [-]  step 'qmake' complete: failure
2014-08-09 16:14:05+0200 [-]  <Build iqac_platform_centos510_64b>: build finished
2014-08-09 16:14:05+0200 [-] sending mail (780 bytes) to ['s.borghese@netresults.it']
2014-08-09 16:14:05+0200 [-] Starting factory <twisted.mail.smtp.ESMTPSenderFactory instance at 0x20ba368>
2014-08-09 16:14:05+0200 [-] releaseLocks(<BuildSlave 'centos510_64bit'>): []
2014-08-09 16:14:05+0200 [ESMTPSender,client] Stopping factory <twisted.mail.smtp.ESMTPSenderFactory instance at 0x20ba368>
对我来说,上面的日志意味着没有设置env。当然,我可能错了,这就是为什么我要征求一些建议。 如前所述,我已经在MacOSX上运行的另一个从机上使用了env configuration属性,但由于主机现在已关闭,因此无法检索从机版本

知道我做错了什么吗

您认为从属版本>主版本可能是一个问题吗


从机是使用easy_install安装的,这是python 2.6的setuptools检索到的版本?从一个简单的外观和尝试复制来看,nr.centos510_64bit_env_dict似乎是None。我有一个文件,其中包含一些配置文件中使用的常量。此文件包含centos510_64bit_env_dict的定义,并作为以下内容导入:从buildvars导入NrBuildVars作为nr,因此变量不应为非正确的,位是否为无?那将是一个将问题一分为二的好地方——如果没有问题,你就有一个问题。如果不是“无”,那么您就有另一个问题。@djmitche:我会做更多的调查,并将对此进行更新……您是否尝试从您的从属服务器查看stdio,以查看它在运行时使用的路径?