[oe] minimal-uclibc: perl_5.8.8: fails with `ld: cannot find -lnsl`

Paul Menzel paulepanter at users.sourceforge.net
Mon Nov 8 15:17:46 UTC 2010


Am Montag, den 08.11.2010, 00:00 +0300 schrieb Roman I Khimov: 
> В сообщении от Воскресенье 07 ноября 2010 22:32:39 автор Paul Menzel написал:

The error is the following.

        /oe-angstrom-beagleboard/tmp/sysroots/x86_64-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.5.2/../../../../arm-oe-linux-uclibceabi/bin/ld: cannot find -lnsl

Reading this line, do you use `minimal-uclibc` as the distribution?
There might be a difference in the uClibc or Perl versions used.

I forgot to mention that I have the following in my `local.conf`.

        PREFERRED_UCLIBC_VERSION        = "git"

What does the following command return on your system?

        $ find /oe/build-minimal-uclibc/ -name *libnsl*
        /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/lib/libnsl.so.0
        /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/lib/libnsl-0.9.32-git.so
        /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/lib/libnsl.so
        /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/lib/libnsl.a

> > What is `-lnsl`?
> > 
> > `perl` builds just fine for me. I tried it again with a clean temporary
> > directory. My build host runs Debian Squeeze.
> 
> Lenny here, and although in theory it shouldn't matter, it's 100% reproducible 
> for me.

Searching the WWW I found the following section in the document listing
differences between Glibc and uClibc [1]. 

        8) libnsl provides support for Network Information Service (NIS) which was
        originally called "Yellow Pages" or "YP", which is an extension of RPC invented
        by Sun to share Unix password files over the network.  I personally think NIS
        is an evil abomination and should not be used.  These days, using ldap is much
        more effective mechanism for doing the same thing.  uClibc provides a stub
        libnsl, but has no actual support for Network Information Service (NIS).
        We therefore, also do not provide any of the headers files provided by glibc
        under /usr/include/rpcsvc.

So `libnsl` should be somewhere.

> I'd recommend you at least to try newer perl.

Well let us see whether a newer uClibc helps too. ;-)


Thanks and sorry for leaving out that piece of information,

Paul


[1] http://www.uclibc.org/downloads/Glibc_vs_uClibc_Differences.txt 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20101108/19ac634f/attachment-0002.sig>


More information about the Openembedded-devel mailing list