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