[yocto] rpm dependency errors

Mark Hatle mark.hatle at windriver.com
Tue Nov 15 09:21:54 PST 2011


On 11/14/11 10:16 PM, Michael E Brown wrote:
> I've now run across this same error in two different contexts, and am
> having difficulty trying to figure out what is going on
> 
> First, while building meta-toolchain-sdk, I ran into
> http://pastebin.com/BT02UYk1
>  ... cut ...
> Processing task-core-standalone-gmae-sdk-target-dbg...
> | error: Failed dependencies:
> |       libgthread-2.0.so.0 is needed by libgupnp-1.0-3-0.16.1-r0.sh4
> |       libresolv.so.2 is needed by libgupnp-1.0-3-0.16.1-r0.sh4
> 
> I've confirmed that the libgupnp rpm has only SH4 binaries in it.
> 
> Next, while building a custom image, I ran across the same error with
> portmap and tcp-wrappers:
> 
> http://pastebin.com/dRb5Dum8
> 
> Note in the pastebin I extracted tcp-wrappers and 'file' says that
> everything is SH4.

This type of error usually means that those two items were required as libraries
(for the target packages) and no rpm packages available provide those items.

Usually it means they were not being packaged, but did end up in the sysroot
somehow.

The items in the pastebin are a different issue, I suspect... From the pastebin:

(Lets start with the requirements first)
> $ rpm -qp --requires tcp-wrappers-7.6-r0.sh4.rpm
> warning: tcp-wrappers-7.6-r0.sh4.rpm: Header V4 DSA signature: NOKEY, key ID
fe659c6d
> libc6 >= 2.13

This is a package requirement..

> libwrap0 >= 7.6

As is this one..

> rtld(GNU_HASH)

This is a virtual requirement -- I need a rtld that supports GNU_HASH.

> libc.so.6
> libc.so.6(GLIBC_2.3)
> libc.so.6(GLIBC_2.2)

Above three are library SONAME requirements.  I first require something with the
SONAME of "libc.so.6", and then also require two versioned symbols GLIBC_2.3 and
GLIBC_2.2.

> libwrap.so.0

This is simply an SONAME requirement.

> $ rpm -qp --provides libc6-2.13-r15+svnr14157.sh4.rpm
> warning: libc6-2.13-r15+svnr14157.sh4.rpm: Header V4 DSA signature: NOKEY, key ID 47031d66
> rtld(GNU_HASH)  
> glibc  
> libc6 = 2.13-r15+svnr14157

When you look at the provides, we're not providing any of the soname/shared
library requirements.   There are a few possibilities as to the cause:

*) You simply didn't package the libraries..  check with rpm -qp -l <package>.
Do you see /lib/libc.so.6 there?

*) The libraries inside of this package are invalid for some reason?

*) objdump isn't able to read the soname values from these libraries for some
reason.

*) elfutils version of objdump isn't able to read the soname values from these
libraries for some reason.

... look into each of those and see if you can figure out what might be wrong.
If you get to the point of investigating objdump or elfutils-objdump -- be sure
to run it against the versions from the package and not the work directory.  (It
is possible something is getting mangled at package time.)

--Mark

> --
> Michael
> 
> 
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto




More information about the yocto mailing list