Hi Michael,<br><br>I am getting exception on master reconfig with this change.<br>Please have a look at this?<br><br>Thanks<br><br>Galina<br><br><br>2013-03-19 11:29:32-0700 [-] Unhandled Error<br> Traceback (most recent call last):<br>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/buildbot/master.py", line 197, in loadTheConfigFile<br> d = self.loadConfig(f)<br> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/buildbot/master.py", line 579, in loadConfig<br>
d.addCallback(do_load)<br> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twisted/internet/defer.py", line 298, in addCallback<br> callbackKeywords=kw)<br>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twisted/internet/defer.py", line 287, in addCallbacks<br> self._runCallbacks()<br> --- <exception caught here> ---<br>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twisted/internet/defer.py", line 545, in _runCallbacks<br> current.result = callback(current.result, *args, **kw)<br>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/buildbot/master.py", line 226, in do_load<br> exec f in localDict<br> File "/Volumes/Macintosh HD2/llvm.buildmaster/zorg/buildbot/osuosl/master/master.cfg", line 23, in <module><br>
reload(config.builders)<br> File "/Volumes/Macintosh HD2/llvm.buildmaster/zorg/buildbot/osuosl/master/config/builders.py", line 2, in <module><br> reload(ClangBuilder)<br> File "/Volumes/Macintosh HD2/llvm.buildmaster/zorg/zorg/buildbot/builders/ClangBuilder.py", line 17, in <module><br>
from zorg.buildbot.PhasedBuilderUtils import find_liblto<br> exceptions.ImportError: cannot import name find_liblto<br><br><br><br><br><div class="gmail_quote">On Wed, Mar 13, 2013 at 2:51 PM, Michael Gottesman <span dir="ltr"><<a href="mailto:mgottesman@apple.com" target="_blank">mgottesman@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: mgottesman<br>
Date: Wed Mar 13 16:51:16 2013<br>
New Revision: 176981<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=176981&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=176981&view=rev</a><br>
Log:<br>
The LTO phased clang builder was having issues finding the right libLTO. This patch should hopefully fix that.<br>
<br>
Modified:<br>
zorg/trunk/zorg/buildbot/PhasedBuilderUtils.py<br>
zorg/trunk/zorg/buildbot/builders/ClangBuilder.py<br>
<br>
Modified: zorg/trunk/zorg/buildbot/PhasedBuilderUtils.py<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/PhasedBuilderUtils.py?rev=176981&r1=176980&r2=176981&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/PhasedBuilderUtils.py?rev=176981&r1=176980&r2=176981&view=diff</a><br>
==============================================================================<br>
--- zorg/trunk/zorg/buildbot/PhasedBuilderUtils.py (original)<br>
+++ zorg/trunk/zorg/buildbot/PhasedBuilderUtils.py Wed Mar 13 16:51:16 2013<br>
@@ -149,6 +149,14 @@ def find_cxx(status, stdin, stdout):<br>
return { 'cxx_path' : cxx_path }<br>
return {}<br>
<br>
+def find_liblto(status, stdin, stdout):<br>
+ lines = filter(bool, stdin.split('\n'))<br>
+ for line in lines:<br>
+ if 'lib/libLTO.dylib' in line:<br>
+ liblto_path = line<br>
+ return { 'liblto_path' : liblto_path }<br>
+ return {}<br>
+<br>
def determine_phase_id(props):<br>
# phase_id should be generated by the first phase to run and copied as a<br>
# propery to downstream builds<br>
<br>
Modified: zorg/trunk/zorg/buildbot/builders/ClangBuilder.py<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/ClangBuilder.py?rev=176981&r1=176980&r2=176981&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/ClangBuilder.py?rev=176981&r1=176980&r2=176981&view=diff</a><br>
==============================================================================<br>
--- zorg/trunk/zorg/buildbot/builders/ClangBuilder.py (original)<br>
+++ zorg/trunk/zorg/buildbot/builders/ClangBuilder.py Wed Mar 13 16:51:16 2013<br>
@@ -14,6 +14,7 @@ from zorg.buildbot.commands import Suppr<br>
from zorg.buildbot.commands.BatchFileDownload import BatchFileDownload<br>
from zorg.buildbot.commands.LitTestCommand import LitTestCommand<br>
from zorg.buildbot.PhasedBuilderUtils import GetLatestValidated, find_cc<br>
+from zorg.buildbot.PhasedBuilderUtils import find_liblto<br>
<br>
def getClangBuildFactory(<br>
triple=None,<br>
@@ -711,12 +712,7 @@ def phasedClang(config_options, is_boots<br>
'--without-llvmgcc', '--without-llvmgxx',<br>
'--enable-keep-symbols'])<br>
configure_args.append(<br>
- WithProperties('--prefix=%(builddir)s/clang-install'))<br>
-<br>
- # If we need to use lto, add in proper flags here.<br>
- if use_lto:<br>
- configure_args.append(<br>
- '--with-extra-options=-flto -gline-tables-only')<br>
+ WithProperties('--prefix=%(builddir)s/clang-install'))<br>
<br>
# If we are using a previously built compiler, download it and override CC<br>
# and CXX.<br>
@@ -737,14 +733,30 @@ def phasedClang(config_options, is_boots<br>
configure_args.extend([<br>
WithProperties('CC=%(builddir)s/%(cc_path)s'),<br>
WithProperties('CXX=%(builddir)s/%(cc_path)s++')])<br>
+<br>
+ # If we need to use lto, find liblto, add in proper flags here, etc.<br>
+ if use_lto:<br>
+ liblto_command = ['find', 'host-compiler', '-name', 'libLTO.dylib']<br>
+ f.addStep(buildbot.steps.shell.ShellCommand(<br>
+ name='find.liblto',<br>
+ command=liblto_command,<br>
+ extract_fn=find_liblto,<br>
+ workdir=WithProperties('%(builddir)s')))<br>
+ configure_args.append(<br>
+ '--with-extra-options=-flto -gline-tables-only')<br>
+<br>
# Configure the LLVM build.<br>
f.addStep(buildbot.steps.shell.ShellCommand(<br>
name='configure.with.host', command=configure_args,<br>
haltOnFailure=True, description=['configure'],<br>
workdir=clang_build_dir))<br>
# Build the compiler.<br>
+ make_command = ['make', '-j', WithProperties('%(jobs)s')]<br>
+ if use_lto:<br>
+ make_command.append(WithProperties('DYLD_LIBRARY_PATH=%(liblto_path)s'))<br>
+<br>
f.addStep(buildbot.steps.shell.ShellCommand(<br>
- name='make', command=['make', '-j', WithProperties('%(jobs)s')],<br>
+ name='make', command=make_command,<br>
haltOnFailure=True, description=['make'], workdir=clang_build_dir))<br>
# Use make install-clang to produce minimal archive for use by downstream<br>
# builders.<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br>