[oe] [PATCH][meta-oe] crash: fix do_compile relocation error

Khem Raj raj.khem at gmail.com
Wed Jul 4 05:15:58 UTC 2018



On 7/3/18 6:48 PM, Changqing Li wrote:
> 
> 
> On 07/03/2018 12:42 AM, Khem Raj wrote:
>> On Mon, Jul 2, 2018 at 12:08 AM Changqing Li 
>> <changqing.li at windriver.com> wrote:
>>> On 07/02/2018 02:09 PM, Khem Raj wrote:
>>>> On Sun, Jul 1, 2018 at 7:31 PM Changqing Li 
>>>> <changqing.li at windriver.com> wrote:
>>>>> error info:
>>>>>
>>>>> id: relocation error: /lib/x86_64-linux-gnu/libnss_nis.so.2:
>>>>> symbol _nsl_default_nss version GLIBC_PRIVATE not defined in
>>>>> file libnsl.so.1 with link time reference
>>>>>
>>>>> Recent glibc change removed libnss-nis module from glibc and
>>>>> a new recipe libnss-nis.bb was added. After this change,
>>>>> we need to include native libnss_nis in crash. otherwise,
>>>>> with "nis" in /etc/nssswitch.conf, we will met above error.
>>>>>
>>>>> Signed-off-by: Changqing Li <changqing.li at windriver.com>
>>>>> ---
>>>>>    meta-oe/recipes-kernel/crash/crash_7.2.0.bb | 1 +
>>>>>    1 file changed, 1 insertion(+)
>>>>>
>>>>> diff --git a/meta-oe/recipes-kernel/crash/crash_7.2.0.bb 
>>>>> b/meta-oe/recipes-kernel/crash/crash_7.2.0.bb
>>>>> index 440a69d..09fe50d 100644
>>>>> --- a/meta-oe/recipes-kernel/crash/crash_7.2.0.bb
>>>>> +++ b/meta-oe/recipes-kernel/crash/crash_7.2.0.bb
>>>>> @@ -11,6 +11,7 @@ LICENSE = "GPLv3"
>>>>>    LIC_FILES_CHKSUM = 
>>>>> "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
>>>>>
>>>>>    DEPENDS = "zlib readline coreutils-native"
>>>>> +DEPENDS_append_libc-glibc = " libnss-nis-native"
>>>> A native dependency which is specific to a target libc seems not
>>>> right. It should depend on
>>>> build host libc which in this case is always glibc so please drop 
>>>> the override.
>>> Hi,  according  to below content of recipe libnss-nis,  only for glibc,
>>> we will DEPNDS
>>> libnss-nis-native, so I add this override.
>>>
>>> # We will skip parsing this packagegeoup for non-glibc systems
>>> #
>>> python __anonymous () {
>>>       if d.getVar('TCLIBC') != "glibc":
>>>           raise bb.parse.SkipRecipe("incompatible with %s C library" %
>>>                                      d.getVar('TCLIBC'))
>> may be this can be made to exclude non target recipes.
>>
> 
> I don't quite get your mean, can you explain more? Thanks.

fact that we are adding a dependency on a native package for just glibc 
based images is what I was asking about. libc-glibc is a target specific 
override and therefore this makes it such that it is only needed when 
target is glibc which to be sounds wrong, since other libcs should have 
same dependency needs as well.

Guessing from your error message it seems somewhere crash build is 
depending upon id program and this id program is coming from 
coreutils-native, which seems to depend on this library so this 
dependency really belongs there, it seems to me that coreutils-native 
should depend upon
libnss-nis-native



More information about the Openembedded-devel mailing list