dbus-c++ doesn't work?
Andreas Volz
lists at brachttal.net
Mon Aug 18 13:16:22 PDT 2008
Am Mon, 18 Aug 2008 14:45:02 +0200 schrieb Claudio Contino:
> Hello,
>
> I'm a computer science student and I need an IPC API written in C++
> for a project I'm working at. I thought DBUS was the best choice, but
> I have some problems with C++ bindings.
> I have written this very very simple piece of code:
>
> #include <dbus-c++-1/dbus-c++/dbus.h>
>
> DBus::BusDispatcher dispatcher;
>
> int main()
> {
> DBus::default_dispatcher = &dispatcher;
> DBus::Connection bus = DBus::Connection::SessionBus();
> return 0;
> }
>
> but I get a segmentation fault on DBus::Connection::SessionBus();
> this is the backtrace stack:
>
> #0 0xb7edbfb7 std::_List_node_base::hook()
> (/usr/lib/libstdc++.so.6:??) #1 0xb7f9d340
> DBus::Dispatcher::queue_connection() (/usr/lib/libdbus-c++-1.so.0:??)
> #2 0xb7f99089 DBus::Connection::setup()
> (/usr/lib/libdbus-c++-1.so.0:??) #3 0xb7f9a943
> DBus::Connection::Connection() (/usr/lib/libdbus-c++-1.so.0:??)
> #4 0xb7f9b1d7 DBus::Connection::SessionBus()
> (/usr/lib/libdbus-c++-1.so.0:??)
> #5 0x804b2fb main()
> (/home/claudio/Documents/progetti/codeblocks/dbus_prova/main.cpp:8)
>
> I'm using dbus-c++ compiled today from GIT and dbus daemon 1.2.3
> should I move to another API or I am doing something incorrect?
I've an ideas what the problem could be. Try to insert this at the
start of your app:
#define DBUS_HAS_THREADS_INIT_DEFAULT
#define DBUS_HAS_RECURSIVE_MUTEX
#define HAVE_PTHREAD 1
#define HAVE_PTHREAD_H 1
Then compile your demo application with -pthread option.
Alternative try my the unofficial GIT repo here:
http://gitorious.org/projects/dbus-cplusplus
Would be interesting if you get the same crash. I assume it's a problem
with pthread runtime dependency. If it works then I'll add some more
words about that topic.
BTW: You may discuss that topic on the list
<dbus-cplusplus-devel-owner at lists.sourceforge.net> if you like. Join
here:
https://lists.sourceforge.net/lists/listinfo/dbus-cplusplus-devel
regards
Andreas
-
More information about the dbus
mailing list