[zorg] r176981 - The LTO phased clang builder was having issues finding the right libLTO. This patch should hopefully fix that.

Galina Kistanova gkistanova at gmail.com
Tue Mar 19 11:38:56 PDT 2013


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/1756abd1/attachment.html>


More information about the llvm-commits mailing list