[yocto] RPM multilib package installation issue

Xu, Dongxiao dongxiao.xu at intel.com
Fri Sep 2 17:49:17 PDT 2011


Hi Mark,

> -----Original Message-----
> From: Mark Hatle [mailto:mark.hatle at windriver.com]
> Sent: Friday, September 02, 2011 11:03 PM
> To: Xu, Dongxiao
> Cc: Richard Purdie (richard.purdie at linuxfoundation.org);
> yocto at yoctoproject.org
> Subject: Re: RPM multilib package installation issue
> 
> On 9/2/11 2:33 AM, Xu, Dongxiao wrote:
> > Hi Mark and Richard,
> >
> > I am trying to setup a RPM multilib system that, it is a qemux86-64
> > base image with MULTILIB_IMAGE_INSTALL = "lib32-connman-gnome". With
> > several fixes, the build can pass.
> >
> > However in run time testing I met a problem that, for those libraries
> > whose base/multilib versions packages will be both built out (like
> > libgtk, it has "libgtk-2.0-2.22.1-r2.x86_64.rpm" and
> > "libgtk-2.0-2.22.1-r2.x86.rpm"), the rpm will only installs the lib32 version of
> it.
> 
> During filesystem construction the system uses dependencies to decide what
> to install.  If you build a 32-bit connman-gnome and it requires other 32-bit
> libraries the dependency scanner will either pick them up and install them, or
> error due to missing dependencies.
> 
> In the manual case you would use "rpm -Uhv <path>" manually specifying which
> one you want.  RPM will detect a multilib package and will allow installation of
> both versions.  (Note always use rpm -U and not rpm -i..  rpm -i just blindly
> installs the software with no checking if an existing version exists.)

In our poky system, I saw we use some command to generate install_solution.manifest, and then use "rpm -Uvh" to install them.

I attached my install_solution.manifest here. From the list we saw that some libraries are only installed once. For example the db, both 32bit and 64 bit are needed, however only 32bit is installed (libgtk is another example). 

Thanks,
Dongxiao

> 
> > Therefore one question is, if there are two rpm packages with the same
> > PN, PV, PR, but different architecture (like our multilib case), then
> > we run command "rpm -ivh libgtk", which version of libgtk will be
> > installed? Or does rpm have any parameter to force installing them
> > both? Actually multilib requires to install them both with certain order.
> 
> No specific order should be necessary on a multilib system.  As long as the end
> dependencies are satisfied the resulting filesystem will work.  (Exceptions to
> this are when there are pre and post install scripts that have their own unique
> dependencies.. but those are not the normal case for OE-Core/Yocto.)
> 
> --Mark
> 
> > Thanks, Dongxiao
> >

-------------- next part --------------
A non-text attachment was scrubbed...
Name: install_solution.manifest
Type: application/x-ms-manifest
Size: 33773 bytes
Desc: install_solution.manifest
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20110903/48491bd7/attachment.bin>


More information about the yocto mailing list