Skip to contentSkip to conversation

Problems compiling obexd

DISCUSSION Pacho Ramos 4 participants 6 messages Jun 12, 2011 – Jun 13, 2011 Bluetooth drivers

lore
Share & tools
lore
#0 lore raw

Hello

Looks like some people are having problems compiling obexd downstream (also with 0.40 version),
http://bugs.gentoo.org/show_bug.cgi?id=368135

I cannot reproduce myself but, googling a bit, looks like some other
people have this problem (but I still didn't find a solution).

The error is the following:

make -j4 -l3
make --no-print-directory all-am

  CC     client/pbap.o
  CC     client/sync.o
  CC     client/transfer.o
  GEN    client/obex-client.service
  CC     gdbus/mainloop.o
  CC     gdbus/watch.o
  CC     gdbus/object.o
  CC     gdbus/polkit.o
  CC     gwobex/gw-obex.o
  CC     gwobex/obex-priv.o
  CC     gwobex/obex-xfer.o
  CC     gwobex/utils.o
  CC     btio/btio.o

btio/btio.c: In function 'set_sec_level':
btio/btio.c:369: error: storage size of 'sec' isn't known btio/btio.c:372: error: 'BT_SECURITY_LOW' undeclared (first use in this function)
btio/btio.c:372: error: (Each undeclared identifier is reported only once
btio/btio.c:372: error: for each function it appears in.) btio/btio.c:372: error: 'BT_SECURITY_HIGH' undeclared (first use in this function)
btio/btio.c:382: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:382: error: 'BT_SECURITY' undeclared (first use in this function)
btio/btio.c: In function 'l2cap_get_lm':
btio/btio.c:416: error: 'BT_SECURITY_LOW' undeclared (first use in this function)
btio/btio.c:418: error: 'BT_SECURITY_MEDIUM' undeclared (first use in this function)
btio/btio.c:420: error: 'BT_SECURITY_HIGH' undeclared (first use in this function)
btio/btio.c: In function 'rfcomm_get_lm':
btio/btio.c:437: error: 'BT_SECURITY_LOW' undeclared (first use in this function)
btio/btio.c:439: error: 'BT_SECURITY_MEDIUM' undeclared (first use in this function)
btio/btio.c:441: error: 'BT_SECURITY_HIGH' undeclared (first use in this function)
btio/btio.c: In function 'get_sec_level':
btio/btio.c:449: error: storage size of 'sec' isn't known btio/btio.c:455: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:455: error: 'BT_SECURITY' undeclared (first use in this function)
btio/btio.c: In function 'parse_set_opts':
btio/btio.c:635: error: 'L2CAP_MODE_BASIC' undeclared (first use in this function)
btio/btio.c: In function 'l2cap_get':
btio/btio.c:778: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:778: error: 'BT_DEFER_SETUP' undeclared (first use in this function)
btio/btio.c: In function 'rfcomm_get':
btio/btio.c:885: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:885: error: 'BT_DEFER_SETUP' undeclared (first use in this function)
btio/btio.c: In function 'bt_io_listen':
btio/btio.c:1282: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:1282: error: 'BT_DEFER_SETUP' undeclared (first use in this function)
distcc[23546] ERROR: compile btio/btio.c on localhost failed make[1]: *** [btio/btio.o] Error 1
make: *** [all] Error 2
make: INTERNAL: Exiting with 5 jobserver tokens available; should be 4!

Do you have any idea about where could the problem be?

Thanks a lot

#1 lore raw

Hi,

Quoted 82 lines · Pacho Ramos

Hello

Looks like some people are having problems compiling obexd downstream (also with 0.40 version),
http://bugs.gentoo.org/show_bug.cgi?id=368135

 I cannot reproduce myself but, googling a bit, looks like some other people have this problem (but I still didn't find a solution).

The error is the following:

make -j4 -l3
make --no-print-directory all-am
 CC     client/pbap.o
 CC     client/sync.o
 CC     client/transfer.o
 GEN    client/obex-client.service
 CC     gdbus/mainloop.o
 CC     gdbus/watch.o
 CC     gdbus/object.o
 CC     gdbus/polkit.o
 CC     gwobex/gw-obex.o
 CC     gwobex/obex-priv.o
 CC     gwobex/obex-xfer.o
 CC     gwobex/utils.o
 CC     btio/btio.o
btio/btio.c: In function 'set_sec_level':
btio/btio.c:369: error: storage size of 'sec' isn't known btio/btio.c:372: error: 'BT_SECURITY_LOW' undeclared (first use in this function)
btio/btio.c:372: error: (Each undeclared identifier is reported only once
btio/btio.c:372: error: for each function it appears in.) btio/btio.c:372: error: 'BT_SECURITY_HIGH' undeclared (first use in this function)
btio/btio.c:382: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:382: error: 'BT_SECURITY' undeclared (first use in this function)
btio/btio.c: In function 'l2cap_get_lm':
btio/btio.c:416: error: 'BT_SECURITY_LOW' undeclared (first use in this function)
btio/btio.c:418: error: 'BT_SECURITY_MEDIUM' undeclared (first use in this function)
btio/btio.c:420: error: 'BT_SECURITY_HIGH' undeclared (first use in this function)
btio/btio.c: In function 'rfcomm_get_lm':
btio/btio.c:437: error: 'BT_SECURITY_LOW' undeclared (first use in this function)
btio/btio.c:439: error: 'BT_SECURITY_MEDIUM' undeclared (first use in this function)
btio/btio.c:441: error: 'BT_SECURITY_HIGH' undeclared (first use in this function)
btio/btio.c: In function 'get_sec_level':
btio/btio.c:449: error: storage size of 'sec' isn't known btio/btio.c:455: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:455: error: 'BT_SECURITY' undeclared (first use in this function)
btio/btio.c: In function 'parse_set_opts':
btio/btio.c:635: error: 'L2CAP_MODE_BASIC' undeclared (first use in this function)
btio/btio.c: In function 'l2cap_get':
btio/btio.c:778: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:778: error: 'BT_DEFER_SETUP' undeclared (first use in this function)
btio/btio.c: In function 'rfcomm_get':
btio/btio.c:885: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:885: error: 'BT_DEFER_SETUP' undeclared (first use in this function)
btio/btio.c: In function 'bt_io_listen':
btio/btio.c:1282: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:1282: error: 'BT_DEFER_SETUP' undeclared (first use in this function)
distcc[23546] ERROR: compile btio/btio.c on localhost failed make[1]: *** [btio/btio.o] Error 1
make: *** [all] Error 2
make: INTERNAL: Exiting with 5 jobserver tokens available; should be 4!

Quoted 1 line

Do you have any idea about where could the problem be?

It could be a very old libbluetooth which does not those symbols, what version are you using? Btw we do check for libbluetooth but don't depend have any version so we might have to fix that so in case like this configure should fail.

Signature · 2 lines
Luiz Augusto von Dentz
Computer Engineer
#2 lore raw

Re: Re: bluetooth headset on linux

Ok, so you think this is probably because I use the last version of bluez that I get this compile error. But as you can see I have the two versions installed, so it should works correctly.

The old bluez version installed on my distro was 3.36

$ apt-cache show libbluetooth-dev | grep Version
Version: 3.36-1

The new bluez version installed on my distro is 4.94.

The 2 libraries version are 2.11.2 and 3.11.2 :

$ ls -l /usr/lib/libbluetooth.*
-rwxr-xr-x 1 root root    938 2011-06-12 01:39 /usr/lib/libbluetooth.la
lrwxrwxrwx 1 root root     22 2011-06-12 17:02 /usr/lib/libbluetooth.so -> libbluetooth.so.3.11.2
lrwxrwxrwx 1 root root     22 2010-12-18 15:25 /usr/lib/libbluetooth.so.2 -> libbluetooth.so.2.11.2
-rw-r--r-- 1 root root  78900 2008-07-12 11:20 /usr/lib/libbluetooth.so.2.11.2
lrwxrwxrwx 1 root root     22 2011-06-12 17:02 /usr/lib/libbluetooth.so.3 -> libbluetooth.so.3.11.2
-rwxr-xr-x 1 root root 104024 2011-06-12 01:39 /usr/lib/libbluetooth.so.3.11.2

If I compile like this plugz, I get the error.
If I change the /usr/lib/libbluetooth.so to target the old libbluetooth.so.2.11.2, I get the same error.

Some people use this headset on Linux[8][9]. So, I think the headset should be supported using bluez...

I read documentation[1][2][3][4][5][6][7][8][9] but I can't bind my headset and my computer using bluetooth... Can you help me?

[1]http://bluetooth-alsa.sourceforge.net/build.html [2]http://www.linux.ie/articles/bluetoothheadset.php [3]http://forums.overclockers.com.au/showthread.php?t=694010 [4]https://help.ubuntu.com/community/BluetoothAudio
[5]http://gablog.eu/online/node/80
[6]http://forums.debian.net/viewtopic.php?t=12497 [7]http://penguincopter.blogspot.com/2009/07/linux-bluetooth-komorka-internet.html [8]http://forums.opensuse.org/english/get-technical-help-here/multimedia/446585-bluetooth-audio-alsa-phonon-kde.html [9]http://blog.bulix.org/index.php/blog/1008

#3 lore raw

Re: Re: bluetooth headset on linux

Hi,

2011/6/13 YuGiOhJCJ Mailing-List <[email protected]>:

Quoted 1 line

Ok, so you think this is probably because I use the last version of bluez that I get this compile error.

No. Not only libbluetooth-dev but build tools were also old at that libbluetooth.so.2* time.
For successful build of plugz, find line:

ECHO="echo"

in libtool and add next line under or above that:

echo="echo"

I found this solution during googling with keywords "$echo libtool" . I saw that make command finished with success status but did not installed them. If you find some progress beyond that, please let us know.

Cheers!

Oh, I should add this:
I don't have libbluetooth.so.2* installed.
I also use bluez 4.94, and my distro is Debian squeeze/wheezy.

Signature · 1 line
Takeshi Hamasaki
#4 lore raw

Re: bluetooth headset on linux

Indeed it solves my compile problem, thank you :-)
---
# An echo program that protects backslashes. ECHO="printf %s\\n"
echo="echo"
---
I add the line :
echo="echo"
after the line :
ECHO="printf %s\\n"
in the file :
libtool

So now I have installed bluetooth-alsa and I think it can help me to make my bluetooth headset works.

I do this :

$ sudo a2dpd
A2DPD[14:19:26.370]: init_ipc: Selected IPC: unix, addr=127.0.0.1, bcst=127.0.0.255, port=21453
A2DPD[14:19:26.370]: main: a2dpd [Jun 13 2011 13:46:06] starting ...
A2DPD[14:19:26.371]: main: (errno=9:Bad file descriptor)a2dpd addr=00:1E:7C:01:0A:5E timer=0 us [Jun 13 2011 13:46:06]
A2DPD[14:19:26.371]: a2dpd_signal_init: Getting on DBUS
A2DPD[14:19:26.373]: a2dpd_signal_init: Installing watch
A2DPD[14:19:26.373]: add_dbus_watch: Added watch 0 0x8d67858 disabled
A2DPD[14:19:26.373]: add_dbus_watch: Added watch 1 0x8d67880 enabled
A2DPD[14:19:26.373]: a2dpd_signal_init: Registering object path: /com/access/a2dpd
A2DPD[14:19:26.374]: a2dpd_signal_init: Acquiring service: com.access.a2dpd
A2DPD[14:19:26.375]: a2dpd_signal_init: OK
A2DPD[14:19:26.375]: a2dpd_signal_init: OK
A2DPD[14:19:26.375]: a2dpd_register_sdp: Start
A2DPD[14:19:26.375]: add_avrtg: 
A2DPD[14:19:26.375]: add_a2source: 
A2DPD[14:19:26.376]: a2dpd_register_sdp: OK
A2DPD[14:19:26.376]: main_loop: 
A2DPD[14:19:26.376]: make_server_socket: 
A2DPD[14:19:26.376]: a2dpd_signal_state: Started 00:1E:7C:01:0A:5E
A2DPD[14:19:26.376]: bta2dpdevicenew: 
A2DPD[14:19:26.377]: a2dpd_signal_address_changed: 00:1E:7C:01:0A:5E
A2DPD[14:19:26.377]: a2dpd_signal_set_socket: Signal socket set to 7
A2DPD[14:19:26.379]: a2dpd_signal_state: Disconnected 
A2DPD[14:19:26.379]: a2dp_alloc: 
A2DPD[14:19:26.379]: a2dp_alloc: (a2dp = 0x8d6b2e0)
A2DPD[14:19:26.379]: a2dp_new: 00:1E:7C:01:0A:5E, 44100
A2DPD[14:19:26.379]: a2dp_new: State AVDTP_STATE_DISCONNECTED
A2DPD[14:19:26.380]: alsa_new: 
A2DPD[14:19:26.380]: alsa_new: device=plughw:0,0, framerate=44100
A2DPD[14:19:26.380]: alsa_new: State ALSA_STATE_DISCONNECTED
A2DPD[14:19:26.380]: alsa_new: returning 0x8d6d478
A2DPD[14:19:26.380]: sco_new: 
A2DPD[14:19:26.380]: sco_new: State SCO_STATE_DISCONNECTED
A2DPD[14:19:26.380]: sco_state_disconnect: Filtering state : already disconnected
A2DPD[14:19:26.380]: main_loop: Bluetooth Device Settings [44100 hz, 2 channels, 16 bits]
A2DPD[14:19:26.381]: avrcp_new: Listening for AVRCP on socket 9
A2DPD[14:19:26.382]: avrcp_new: 0x8d6d588

Then I run the vlc player and I hear nothing in my headset (I think the binding isn't done with my computer and my headset).

My vlcrc file :

$ cat ~/.vlc/vlcrc | grep alsa
[alsa] # ALSA audio output
#alsadev=default
alsadev=a2dpd

My ~/.asoundrc file :

$ cat ~/.asoundrc
pcm.a2dpd {
	type a2dpd
}

My ~/.a2dprc file :

$ cat ~/.a2dprc | grep address
# This is now deprecated and should not be used, moreover, if the address is changed using dbus
# Your bluetooth headset address
#address=00:08:F4:30:07:64
address=00:1E:7C:01:0A:5E

I don't understand why my headset doesn't work... What can I do?

Quoted 28 lines · On Mon, 13 Jun 2011 15:57:41 +0900 Takeshi Hamasaki…

Hi,

2011/6/13 YuGiOhJCJ Mailing-List <[email protected]>:

Quoted 1 line

Ok, so you think this is probably because I use the last version of bluez that I get this compile error.

No. Not only libbluetooth-dev but build tools were also old at that libbluetooth.so.2* time.
For successful build of plugz, find line:

ECHO="echo"

in libtool and add next line under or above that:

echo="echo"

I found this solution during googling with keywords "$echo libtool" . I saw that make command finished with success status but did not installed them. If you find some progress beyond that, please let us know.

Cheers!

Oh, I should add this:
I don't have libbluetooth.so.2* installed.
I also use bluez 4.94, and my distro is Debian squeeze/wheezy.

Signature · 1 line
Takeshi Hamasaki
#5 lore raw
In reply to Luiz Augusto von Dentz
Quoted 85 lines · Luiz Augusto von Dentz

Hi,

Quoted 82 lines · Pacho Ramos

Hello

Looks like some people are having problems compiling obexd downstream (also with 0.40 version),
http://bugs.gentoo.org/show_bug.cgi?id=368135

I cannot reproduce myself but, googling a bit, looks like some other
people have this problem (but I still didn't find a solution).

The error is the following:

make -j4 -l3
make --no-print-directory all-am

 CC     client/pbap.o
 CC     client/sync.o
 CC     client/transfer.o
 GEN    client/obex-client.service
 CC     gdbus/mainloop.o
 CC     gdbus/watch.o
 CC     gdbus/object.o
 CC     gdbus/polkit.o
 CC     gwobex/gw-obex.o
 CC     gwobex/obex-priv.o
 CC     gwobex/obex-xfer.o
 CC     gwobex/utils.o
 CC     btio/btio.o

btio/btio.c: In function 'set_sec_level':
btio/btio.c:369: error: storage size of 'sec' isn't known btio/btio.c:372: error: 'BT_SECURITY_LOW' undeclared (first use in this function)
btio/btio.c:372: error: (Each undeclared identifier is reported only once
btio/btio.c:372: error: for each function it appears in.) btio/btio.c:372: error: 'BT_SECURITY_HIGH' undeclared (first use in this function)
btio/btio.c:382: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:382: error: 'BT_SECURITY' undeclared (first use in this function)
btio/btio.c: In function 'l2cap_get_lm':
btio/btio.c:416: error: 'BT_SECURITY_LOW' undeclared (first use in this function)
btio/btio.c:418: error: 'BT_SECURITY_MEDIUM' undeclared (first use in this function)
btio/btio.c:420: error: 'BT_SECURITY_HIGH' undeclared (first use in this function)
btio/btio.c: In function 'rfcomm_get_lm':
btio/btio.c:437: error: 'BT_SECURITY_LOW' undeclared (first use in this function)
btio/btio.c:439: error: 'BT_SECURITY_MEDIUM' undeclared (first use in this function)
btio/btio.c:441: error: 'BT_SECURITY_HIGH' undeclared (first use in this function)
btio/btio.c: In function 'get_sec_level':
btio/btio.c:449: error: storage size of 'sec' isn't known btio/btio.c:455: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:455: error: 'BT_SECURITY' undeclared (first use in this function)
btio/btio.c: In function 'parse_set_opts':
btio/btio.c:635: error: 'L2CAP_MODE_BASIC' undeclared (first use in this function)
btio/btio.c: In function 'l2cap_get':
btio/btio.c:778: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:778: error: 'BT_DEFER_SETUP' undeclared (first use in this function)
btio/btio.c: In function 'rfcomm_get':
btio/btio.c:885: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:885: error: 'BT_DEFER_SETUP' undeclared (first use in this function)
btio/btio.c: In function 'bt_io_listen':
btio/btio.c:1282: error: 'SOL_BLUETOOTH' undeclared (first use in this function)
btio/btio.c:1282: error: 'BT_DEFER_SETUP' undeclared (first use in this function)
distcc[23546] ERROR: compile btio/btio.c on localhost failed make[1]: *** [btio/btio.o] Error 1
make: *** [all] Error 2
make: INTERNAL: Exiting with 5 jobserver tokens available; should be 4!

Quoted 8 lines
Quoted 1 line

Do you have any idea about where could the problem be?

It could be a very old libbluetooth which does not those symbols, what version are you using? Btw we do check for libbluetooth but don't depend have any version so we might have to fix that so in case like this configure should fail.

Thanks a lot, this was caused by an old bluez version installed under /usr/local by users suffering this problem.

Best regards :-)