2009-09-22 22:22:42

by Ozan Çağlayan

[permalink] [raw]
Subject: Undefined symbols in netlink plugin

Hi,

I'm getting the following when I launch bluetoothd with -n -d:

..
Can't load plugin /usr/lib/bluetooth/plugins/netlink.so:
/usr/lib/bluetooth/plugins/netlink.so: undefined symbol: debug
..

AFAIK, those libtool plugins are allowed to have undefined symbols after
linking as they will probably be resolved during runtime loading but the
warning above wasn't present on previous versions like 4.41 for example.

# ldd -u -r /usr/lib/bluetooth/plugins/netlink.so
26771: /usr/lib/bluetooth/plugins/netlink.so: error: symbol
lookup error: undefined symbol: g_io_channel_unix_new (continued)
undefined symbol: g_io_channel_unix_new
(/usr/lib/bluetooth/plugins/netlink.so)
26771: /usr/lib/bluetooth/plugins/netlink.so: error: symbol
lookup error: undefined symbol: debug (continued)
undefined symbol: debug (/usr/lib/bluetooth/plugins/netlink.so)
26771: /usr/lib/bluetooth/plugins/netlink.so: error: symbol
lookup error: undefined symbol: g_io_add_watch (continued)
undefined symbol: g_io_add_watch
(/usr/lib/bluetooth/plugins/netlink.so)
26771: /usr/lib/bluetooth/plugins/netlink.so: error: symbol
lookup error: undefined symbol: info (continued)
undefined symbol: info (/usr/lib/bluetooth/plugins/netlink.so)
26771: /usr/lib/bluetooth/plugins/netlink.so: error: symbol
lookup error: undefined symbol: g_io_channel_unref (continued)
undefined symbol: g_io_channel_unref
(/usr/lib/bluetooth/plugins/netlink.so)
Unused direct dependencies:


So we have 3 undefined symbol from glib and 2 internal symbols from
logging.c: debug() and info(). There's no difference if I install the
libtool la file or not. Since glib is already needed by bluez daemon,
those undefined symbols seems harmless but AFAIK the internal ones
should have been linked against the static logging.o.

Or do I miss something?


Thanks,
Ozan Caglayan




2009-10-13 10:23:05

by alok barsode

[permalink] [raw]
Subject: Re: Undefined symbols in netlink plugin

Hi Ozan,

On Tue, Oct 13, 2009 at 1:18 PM, Ozan =C3=87a=C4=9Flayan <[email protected]=
r> wrote:
> alok barsode wrote On 12-10-2009 11:37:
>> The following patch fixes this issue but I am not sure if its the right =
way.
>> Let Marcel take a call on this.
>>
>>
> Yes that fixed it. BTW, is it normal to get messages like
>
> Failed to find Bluetooth netlink family
> Failed to init netlink plugin
>
At this point, yes. There in no netlink support in the kernel as of now.

> Does the netlink support really exist?
>
Not right now. But we are working on it.

Cheers,
Alok.

2009-10-13 07:48:32

by Ozan Çağlayan

[permalink] [raw]
Subject: Re: Undefined symbols in netlink plugin

alok barsode wrote On 12-10-2009 11:37:
> The following patch fixes this issue but I am not sure if its the right way.
> Let Marcel take a call on this.
>
>
Yes that fixed it. BTW, is it normal to get messages like

Failed to find Bluetooth netlink family
Failed to init netlink plugin

Does the netlink support really exist?

2009-10-12 08:37:41

by alok barsode

[permalink] [raw]
Subject: Re: Undefined symbols in netlink plugin

Hi Ozan,

On Mon, Oct 12, 2009 at 12:18 PM, Ozan Çağlayan <[email protected]> wrote:
> Ozan Çağlayan wrote On 23-09-2009 01:22:
>
>> Hi,
>>
>> I'm getting the following when I launch bluetoothd with -n -d:
>>
>> ..
>> Can't load plugin /usr/lib/bluetooth/plugins/netlink.so:
>> /usr/lib/bluetooth/plugins/netlink.so: undefined symbol: debug
>> ..
>>
>> AFAIK, those libtool plugins are allowed to have undefined symbols after
>> linking as they will probably be resolved during runtime loading but the
>> warning above wasn't present on previous versions like 4.41 for example.
>>
>> # ldd -u -r /usr/lib/bluetooth/plugins/netlink.so
>>      26771:     /usr/lib/bluetooth/plugins/netlink.so: error: symbol
>> lookup error: undefined symbol: g_io_channel_unix_new (continued)
>> undefined symbol: g_io_channel_unix_new
>> (/usr/lib/bluetooth/plugins/netlink.so)
>>      26771:     /usr/lib/bluetooth/plugins/netlink.so: error: symbol
>> lookup error: undefined symbol: debug (continued)
>> undefined symbol: debug (/usr/lib/bluetooth/plugins/netlink.so)
>>      26771:     /usr/lib/bluetooth/plugins/netlink.so: error: symbol
>> lookup error: undefined symbol: g_io_add_watch (continued)
>> undefined symbol: g_io_add_watch
>> (/usr/lib/bluetooth/plugins/netlink.so)
>>      26771:     /usr/lib/bluetooth/plugins/netlink.so: error: symbol
>> lookup error: undefined symbol: info (continued)
>> undefined symbol: info  (/usr/lib/bluetooth/plugins/netlink.so)
>>      26771:     /usr/lib/bluetooth/plugins/netlink.so: error: symbol
>> lookup error: undefined symbol: g_io_channel_unref (continued)
>> undefined symbol: g_io_channel_unref
>> (/usr/lib/bluetooth/plugins/netlink.so)
>> Unused direct dependencies:
>>
>>
>> So we have 3 undefined symbol from glib and 2 internal symbols from
>> logging.c: debug() and info(). There's no difference if I install the
>> libtool la file or not. Since glib is already needed by bluez daemon,
>> those undefined symbols seems harmless but AFAIK the internal ones
>> should have been linked against the static logging.o.
>>
>> Or do I miss something?
>>

The following patch fixes this issue but I am not sure if its the right way.
Let Marcel take a call on this.

>>
>> Thanks,
>> Ozan Caglayan
>>
>>
>
> Still an issue on bluez 4.56. CC'ing Marcel Holtmann.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

Cheers,
Alok.


Attachments:
0001-Fix-undefined-symbol-errors-in-netlink-plugin.patch (845.00 B)

2009-10-12 06:48:53

by Ozan Çağlayan

[permalink] [raw]
Subject: Re: Undefined symbols in netlink plugin

Ozan Çağlayan wrote On 23-09-2009 01:22:

> Hi,
>
> I'm getting the following when I launch bluetoothd with -n -d:
>
> ..
> Can't load plugin /usr/lib/bluetooth/plugins/netlink.so:
> /usr/lib/bluetooth/plugins/netlink.so: undefined symbol: debug
> ..
>
> AFAIK, those libtool plugins are allowed to have undefined symbols after
> linking as they will probably be resolved during runtime loading but the
> warning above wasn't present on previous versions like 4.41 for example.
>
> # ldd -u -r /usr/lib/bluetooth/plugins/netlink.so
> 26771: /usr/lib/bluetooth/plugins/netlink.so: error: symbol
> lookup error: undefined symbol: g_io_channel_unix_new (continued)
> undefined symbol: g_io_channel_unix_new
> (/usr/lib/bluetooth/plugins/netlink.so)
> 26771: /usr/lib/bluetooth/plugins/netlink.so: error: symbol
> lookup error: undefined symbol: debug (continued)
> undefined symbol: debug (/usr/lib/bluetooth/plugins/netlink.so)
> 26771: /usr/lib/bluetooth/plugins/netlink.so: error: symbol
> lookup error: undefined symbol: g_io_add_watch (continued)
> undefined symbol: g_io_add_watch
> (/usr/lib/bluetooth/plugins/netlink.so)
> 26771: /usr/lib/bluetooth/plugins/netlink.so: error: symbol
> lookup error: undefined symbol: info (continued)
> undefined symbol: info (/usr/lib/bluetooth/plugins/netlink.so)
> 26771: /usr/lib/bluetooth/plugins/netlink.so: error: symbol
> lookup error: undefined symbol: g_io_channel_unref (continued)
> undefined symbol: g_io_channel_unref
> (/usr/lib/bluetooth/plugins/netlink.so)
> Unused direct dependencies:
>
>
> So we have 3 undefined symbol from glib and 2 internal symbols from
> logging.c: debug() and info(). There's no difference if I install the
> libtool la file or not. Since glib is already needed by bluez daemon,
> those undefined symbols seems harmless but AFAIK the internal ones
> should have been linked against the static logging.o.
>
> Or do I miss something?
>
>
> Thanks,
> Ozan Caglayan
>
>

Still an issue on bluez 4.56. CC'ing Marcel Holtmann.