qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] buildbot failure in qemu on block_mingw32


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] buildbot failure in qemu on block_mingw32
Date: Thu, 10 Jan 2013 14:08:47 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.11) Gecko/20121116 Thunderbird/10.0.11

  Hi,

>> I don't get this error in line 2097 with my native and cross builds,
>> nor do I get the warnings. Which version of MinGW is used on the buildbot?
>>
>> Anyway, it will be fixed with the pending patch
>> http://patchwork.ozlabs.org/patch/210240/
> 
> I've added Gerd on CC if he has time to check the buildbot.  But since
> this will be fixed anyway it probably doesn't matter.

http://buildbot.b1-systems.de/qemu/buildslaves/kraxel_rhel61
has package version lists.

And, yes, mingw64 builds it fine, both 32 and 64 bit versions.

While talking about the buildbots (adding Daniel to Cc):

kraxel_fedora16 has mingw64 installed and can so both 32bit and 64bit
mingw builds.  The cross prefixes are "i686-w64-mingw32-" and
"x86_64-w64-mingw32-".

Both kraxel_fedora16 and kraxel_rhel61 have clang installed, which can
be configured like this:

clang.addStep(Configure(command=["./configure",
                                 "--cc=clang",
                                 "--host-cc=clang",
                                 "--disable-werror",
                                 "--disable-debug-info"],
                        logfiles={"config.log": "config.log"}))

Finally, a custom message formater which adds the log tail directly to
the fail messages would be cool, so you don't have to dig out the web
browser to figure what the error is.  /me runs this one:

def kraxelMessageFormatter(mode, name, build, results, master_status):
    result = Results[results]
    defmsg = mail.defaultMessage(mode, name, build, results, master_status);
    text = list();
    text.append(defmsg['body']);

    # get log for last step
    logs = build.getLogs()
    for log in reversed(logs):
        if log.getName() == 'stdio':
            break
    content = log.getText().splitlines() # Note: can be VERY LARGE
    url = "%s/steps/%s/logs/%s" % (master_status.getURLForThing(build),
                                   log.getStep().getName(),
                                   log.getName())

    # append log info to standard message
    text.append("========== log tail ==========")
    for line in content[-32:]:
        text.append(unicode(line,'utf8'))
    text.append("")
    text.append("========== full log ==========")
    text.append(url);

    return { 'body' : "\n".join(text), 'type' : 'plain' }

... hook up this way ...

mn = mail.MailNotifier($args,
                       messageFormatter=kraxelMessageFormatter);

cheers,
  Gerd




reply via email to

[Prev in Thread] Current Thread [Next in Thread]