[oe] libnl vs. libnl2 madness

Martin Jansa martin.jansa at gmail.com
Thu Feb 3 10:12:42 UTC 2011


On Thu, Feb 03, 2011 at 10:54:08AM +0100, Thomas Zimmermann wrote:
> On Thursday 03 February 2011 10:32:53 Stefan Schmidt wrote:
> > Hello.
> >
> > The last hours I was trying to compile wpa_supplicant with nl80211 support.
> > That needs netlink support through libnl or libnl2.
> >
> > Enabling the option to use libnl2, not that easy to find, still breaks with
> > missing header files. Checking the libnl2 source shows that they are
> > provided. After some head on the table banging I found:
> >
> > commit 880e00d3b7ccf66d9421a06bc28e553e07842b59
> > Author: Michael 'Mickey' Lauer <mickey at vanille-media.de>
> > Date:   Tue Nov 24 16:33:06 2009 +0000
> >
> >     libnl2: change includedir to not step over libnl1; also convert to new
> > staging
> 
> At that time there was just one recipe depending on libnl2 and that was FSO2.
> I think one month ago JaMa has build the first SHR image without libnl(1), 

yes after couple of changes
http://git.openembedded.org/cgit.cgi/openembedded/log/?h=org.openembedded.dev&qt=grep&q=libnl

> until then it was impossible because of some important parts. I'm not sure but 
> i think the main blocker was bluez4 (Can't check now).

Yes older bluez4 with nl plugin (which was removed later).

and:
http://gitorious.org/~jama/angstrom/jama-shr-experimental/commit/70b13d30b335b8fd67116d3bc0834382a77bc319
81      ANGSTROM_BLACKLIST_pn-bmon = "bmon depends on libnl we want libnl2"
82	ANGSTROM_BLACKLIST_pn-crda = "crda depends on libnl we want libnl2"
83	ANGSTROM_BLACKLIST_pn-hostap-daemon = "hostap-daemon depends on libnl we want libnl2"
84	ANGSTROM_BLACKLIST_pn-ibrdtn = "ibrdtn depends on libnl we want libnl2"
85	ANGSTROM_BLACKLIST_pn-iw = "iw depends on libnl we want libnl2"
86	ANGSTROM_BLACKLIST_pn-lowpan-tools = "lowpan-tools depends on libnl we want libnl2"
87	ANGSTROM_BLACKLIST_pn-networkmanager = "networkmanager depends on libnl we want libnl2"
88	ANGSTROM_BLACKLIST_pn-networkmanager-openvpn = "networkmanager-openvpn depends on libnl we want libnl2"
89	ANGSTROM_BLACKLIST_pn-pstree = "pstree depends on libnl we want libnl2"
90	ANGSTROM_BLACKLIST_pn-rfkill = "rfkill depends on libnl we want libnl2"

I didn't check if those can be built with libnl2 or if they work properly with libnl2.

But be aware that we had enough issues in runtime (build passes ok) caused by libnl1 built in same sysroot 
as libnl2 (that's why I had to blacklist libnl2 in SHR).

From GNUtoo's report about issues with libnl1 in runtime..(when both libnl are built in same sysroot and libnl1 was rebuilt later)
<snip>
root at htcdream ~ # phoneuid
BUG: route/class_api.c:42
phoneuid: route/class_api.c:42: rtnl_class_register: Assertion `0' failed.
Aborted
</snip>

And also be aware that after blacklisting it, doing just bitbake -c clean libnl libnl2 wasn't 
enough to rebuild all apps properly against libnl2, I had to manually remove all traces of 
libnl1 like shlibs etc (not sure why).

Regards,

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20110203/ac6ef583/attachment-0002.sig>


More information about the Openembedded-devel mailing list