[OE-core] [PATCH V2] allarch.bbclass: Set FEED_ARCH to original value of BASE_PACKAGE_ARCH and then set BASE_PACKAGE_ARCH to 'all'
Koen Kooi
koen at dominion.thruhere.net
Wed Jun 15 08:56:29 UTC 2011
Op 14 jun 2011, om 23:24 heeft Richard Purdie het volgende geschreven:
> On Tue, 2011-06-14 at 14:13 -0700, Khem Raj wrote:
>> Signed-off-by: Khem Raj <raj.khem at gmail.com>
>> ---
>> meta/classes/allarch.bbclass | 5 +++--
>> 1 files changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
>> index e3ac392..b9ba28b 100644
>> --- a/meta/classes/allarch.bbclass
>> +++ b/meta/classes/allarch.bbclass
>> @@ -2,9 +2,10 @@
>> # This class is used for architecture independent recipes/data files (usally scripts)
>> #
>>
>> +# We need to pour the value of BASE_PACKAGE_ARCH into FEED_ARCH
>> +# before we reset it
>> +FEED_ARCH := ${BASE_PACKAGE_ARCH}
>> BASE_PACKAGE_ARCH = "all"
>> -PACKAGE_ARCH = "all"
>> -
>> # No need for virtual/libc or a cross compiler
>> INHIBIT_DEFAULT_DEPS = "1"
>
> This is a *really* bad idea. An "all" package should have no need to set
> architecture specific values into FEED_ARCH.
>
> Just for those not following IRC, the problem is Angstrom adds FEED_ARCH
> to OVERRIDES. Adding "all" to overrides turns out to do nasty things to
> classes like rm_work with "_all" in the function names.
So I did the following in angstrom.inc:
# Add FEED_ARCH and SOC_FAMILY to machine overrides so we get access to e.g. 'armv7a' and 'omap3'
# Hopefully we'll never see a machine or arch with 'all' as substring
MACHINEOVERRIDES .= ":${@bb.data.getVar('FEED_ARCH', d,1).replace('all','noarch')}:${SOC_FAMILY}"
That makes parsing work for MACHINE=crownbay again, but:
koen at dominion:/OE/tentacle/sources/meta-openembedded$ MACHINE=crownbay bitbake foo
NOTE: Out of date cache found, rebuilding...
NOTE: angstrom DOES NOT support gconf-dbus because gconf-dbus has been merged back into main GConf | ETA: 00:03:09
NOTE: angstrom DOES NOT support gconf-dbus-native because gconf-dbus has been merged back into main GConf
NOTE: angstrom DOES NOT support libiconv because the eglibc provided iconv library is used############################## | ETA: 00:00:44
NOTE: angstrom DOES NOT support libiconv because the eglibc provided iconv library is used############################################################# | ETA: 00:00:24
Parsing recipes: 100% |####################################################################################################################################################################| Time: 00:01:52
Parsing of 1287 .bb files complete (0 cached, 1287 parsed). 1655 targets, 60 skipped, 0 masked, 0 errors.
Traceback (most recent call last):
File "/usr/lib/python2.6/multiprocessing/util.py", line 235, in _run_finalizers
Traceback (most recent call last):
File "/usr/lib/python2.6/multiprocessing/util.py", line 235, in _run_finalizers
Traceback (most recent call last):
File "/usr/lib/python2.6/multiprocessing/util.py", line 235, in _run_finalizers
Traceback (most recent call last):
File "/usr/lib/python2.6/multiprocessing/util.py", line 235, in _run_finalizers
finalizer()
File "/usr/lib/python2.6/multiprocessing/util.py", line 174, in __call__
res = self._callback(*self._args, **self._kwargs)
File "/OE/tentacle/sources/bitbake/lib/bb/codeparser.py", line 91, in parser_cache_save
finalizer()
File "/usr/lib/python2.6/multiprocessing/util.py", line 174, in __call__
res = self._callback(*self._args, **self._kwargs)
File "/OE/tentacle/sources/bitbake/lib/bb/codeparser.py", line 91, in parser_cache_save
finalizer()
File "/usr/lib/python2.6/multiprocessing/util.py", line 174, in __call__
res = self._callback(*self._args, **self._kwargs)
File "/OE/tentacle/sources/bitbake/lib/bb/codeparser.py", line 91, in parser_cache_save
finalizer()
File "/usr/lib/python2.6/multiprocessing/util.py", line 174, in __call__
res = self._callback(*self._args, **self._kwargs)
File "/OE/tentacle/sources/bitbake/lib/bb/codeparser.py", line 91, in parser_cache_save
data, version = p.load()
ValueError: could not convert string to int
data, version = p.load()
ValueError: could not convert string to int
data, version = p.load()
data, version = p.load()
ValueError: could not convert string to int
ValueError: could not convert string to int
ERROR: Command execution failed: Traceback (most recent call last):
File "/OE/tentacle/sources/bitbake/lib/bb/command.py", line 99, in runAsyncCommand
self.cooker.updateCache()
File "/OE/tentacle/sources/bitbake/lib/bb/cooker.py", line 937, in updateCache
if not self.parser.parse_next():
File "/OE/tentacle/sources/bitbake/lib/bb/cooker.py", line 1247, in parse_next
self.shutdown()
File "/OE/tentacle/sources/bitbake/lib/bb/cooker.py", line 1236, in shutdown
bb.codeparser.parser_cache_savemerge(self.cooker.configuration.data)
File "/OE/tentacle/sources/bitbake/lib/bb/codeparser.py", line 121, in parser_cache_savemerge
data, version = p.load()
ValueError: could not convert string to int
And the same happens for every machine now. So where did I misconvert an int to string?!?!?
regards,
Koen
More information about the Openembedded-core
mailing list