[yocto] psplash_git.bb: Error when building with icecc

Francesco Del Degan f.deldegan at pr0gg3d.net
Thu Apr 25 05:44:25 PDT 2013


Martin Jansa <martin.jansa at gmail.com>
writes:

> On Thu, Apr 25, 2013 at 09:34:09AM +0200, Francesco Del Degan wrote:
>> Hi all, i just found an error building core-image-basic with icecc
>> inherited:
>
> You can send patch extending blacklist defined in icecc.bbclass:
>     system_package_blacklist = [ "uclibc", "glibc", "gcc", "bind", "u-boot", "dhcp-forwarder", "enchant", "connman", "orbit2" ]
>     user_package_blacklist = (d.getVar('ICECC_USER_PACKAGE_BL') or "").split()
>
> or add psplash to ICECC_USER_PACKAGE_BL

This is not going to work, because set_icecc_env gets prepended anyhow,
so i just got the same error.

In fact, the icecc.bbclass declares:

do_compile_prepend() {
    set_icecc_env
}

and only in set_icecc_env the blacklist controls is performed.

The problem seems to be that do_compile in psplash_git.bb is written in python:

python do_compile () {
    import shutil, commands
    ....
}

so prepending just mixes the two languages.

Could be this the first case of mixing languages? Is bitbake able to
make some transformation when prepending/appending like that.

Also a some sort of conditional prepending based on languages could
works. What do you think?

>
>> NameError: global name 'set_icecc_env' is not defined
>> 
>> ERROR: The stack trace of python calls that resulted in this
>> exception/failure was:
>> ERROR:   File "do_compile", line 26, in <module>
>> ERROR: 
>> ERROR:   File "do_compile", line 3, in do_compile
>> ERROR: 
>> ERROR: The code that was being executed was:
>> ERROR:      0022:        bb.build.exec_func("oe_runmake", d)
>> ERROR:      0023:        shutil.copyfile("psplash", outputfile)
>> ERROR:      0024:
>> ERROR:      0025:
>> ERROR:  *** 0026:do_compile(d)
>> ERROR:      0027:
>> ERROR: [From file: 'do_compile', lineno: 26, function: <module>]
>> ERROR:      0001:
>> ERROR:      0002:def do_compile(d):
>> ERROR:  *** 0003:    set_icecc_env
>> ERROR:      0004:    import shutil, commands
>> ERROR:      0005:
>> ERROR:      0006:    # Build a separate executable for each splash image
>> ERROR:      0007:    convertscript = "%s/make-image-header.sh" %
>> d.getVar('S', True)
>> ERROR: [From file: 'do_compile', lineno: 3, function: do_compile]
>> ERROR: Function failed: do_compile
>> 
>> 
>> 
>> Seems that icecc compile_prepend (set_icecc_env shell function) gets prepended
>> into psplash compile that is written in python. How to deal with it, and
>> in general, is that possible to mix languages in prepend/append?
>> 
>> I'm using poky master and icecc is working great!
>> 
>> Cheers,
>>   Francesco
>> 
>> 
>> 
>> _______________________________________________
>> yocto mailing list
>> yocto at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/yocto




More information about the yocto mailing list