On 27/03/2017 16:02, Richard Biener wrote:
Likely you have I didn't have but I found the main developer had moved to github and dispatcher.h did have it. My knowledge of the intricacies of c++ is limited.
#ifndef DBUS_HAS_RECURSIVE_MUTEX typedef bool (*MutexFreeFn)(Mutex *mx); typedef bool (*MutexLockFn)(Mutex *mx); ^^^
returns bool but:
template
struct Threading { static void init() { _init_threading( mutex_new, mutex_free, mutex_lock, mutex_unlock, condvar_new, condvar_free, condvar_wait, condvar_wait_timeout, condvar_wake_one, condvar_wake_all ); ... static void mutex_lock(Mutex *mx) { mx->lock(); } returns void. Tried this patch: --- include/dbus-c++/dispatcher.h.orig 2011-11-28 17:03:19.000000000 +0200 +++ include/dbus-c++/dispatcher.h 2017-03-28 11:13:28.571991579 +0200 @@ -267,6 +267,19 @@ struct Threading return new Mx; }
+#ifndef DBUS_HAS_RECURSIVE_MUTEX + static bool mutex_free(Mutex *mx) + { + delete mx; + return true; + } + + static bool mutex_lock(Mutex *mx) + { + mx->lock(); + return true; + } +#else static void mutex_free(Mutex *mx) { delete mx; @@ -276,6 +289,7 @@ struct Threading { mx->lock(); } +#endif static void mutex_unlock(Mutex *mx) { but it brought up other errors so I used the github version and it builds the examples and tests. I discovered that ffado had the same errors as the libdbus-c++ executables which forced me to fix it. Thanks for your help, Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org