[OE-core] multilib theory & practice

Kumar Gala galak at kernel.crashing.org
Mon Aug 8 14:32:40 UTC 2011


On Aug 8, 2011, at 7:58 AM, Richard Purdie wrote:

> On Sat, 2011-08-06 at 15:56 -0500, Kumar Gala wrote:
>> I'm looking at trying to get multilib working for powerpc.  However
>> I'm a bit lost in how this is suppose to work from a few different
>> perspectives:
>> 
>> 1. from user perspective (I'm starting with a 64-bit build in /lib64 and adding 32-bit that would be in /lib):
>> 
>> (i've added in local/conf):
>> require conf/multilib.conf
>> MULTILIBS = "multilib:lib"
>> DEFAULTTUNE_virtclass-multilib-lib = "powerpc"
> 
> Rather than use the identifier "lib", I'd use an identifier like "lib32"
> which is unlikely to be found in a recipe name. Therefore something
> like:
> 
> require conf/multilib.conf
> MULTILIBS = "multilib:lib32"
> DEFAULTTUNE_virtclass-multilib-lib32 = "powerpc"

is 'lib32' utilized anywhere else or just to match these things together?  Just want to be clear that I'd expect 32-bit libraries to be in /lib/

>> What should this end up producing?  Do I get a 32-bit set of libs built automatically?  What else do I need to do?
> 
> This will enable a number of other built targets such as "lib32-bash".
> You can also construct images that are mixtures of the various multilibs
> (e.g. install both openssl and lib32-openssl).

What would I expect w/regards to RPM or ipk's that are created?  How does one tell the 32-bit vs 64-bit?

>> 2. From a infrastructure point of view:
>> 
>> * Do have a single compiler that is multi-arch or 2 compilers? (not sure how the x86_64 toolchain works today)
> 
> At this point we've gone for 2 compilers. This was a conscious choice to
> avoid additional complexity and allow us to get the core functionality
> working. We can support merged toolchains at a future date with
> appropriate toolchain configuration and ASSUME_PROVIDED declarations.

What would they be called or how are they distinguished?

>> * what areas should I investigate that might need tweaking that are arch specific?
> 
> There should be very little beyond the places you've already changed
> that should need tweaking. The only issues may be due to this being
> very new code.
> 
>> * should I see different task names for the new multilib builds? (or the 32-bit specific builds?)
> 
> multilib.conf lists the recipes that will become multilib enabled. I've
> just merged a patch to extend this list to include the various ones that
> have been tested. The ultimate plan is not to require that list and its
> just a transition point.

I feel like I tried 'enabling' multilib on ppc and didn't see anything new built for the 32-bit libs.

- k



More information about the Openembedded-core mailing list