The current code in src/notify_desktop.c is not compatible with the new libnotify 0.7 API
This: notification = notify_notification_new (summary, n->message, NULL, NULL); Should now be: notification = notify_notification_new (summary, n->message, NULL; As in, one argument less for notify_notification_new. But we can't just remove it or it'll break compability with libnotify 0.4.x and 0.5.x. This piece of code sets dummy NOTIFY_CHECK_VERSION for libnotify-0.4.x, because NOTIFY_CHECK_VERSION was added only in 0.5.x: #ifndef NOTIFY_CHECK_VERSION #define NOTIFY_CHECK_VERSION(x,y,z) 0 #endif Then we can freely use NOTIFY_CHECK_VERSION, and it will work with all of 0.4, 0.5 and 0.7 series: #if NOTIFY_CHECK_VERSION (0, 7, 0) do something cool #endif I'm attaching the working patch. It's been tested with all of the mentioned versions, as well as it's in active use at Gentoo Linux. Thanks, Samuli
--- src/notify_desktop.c +++ src/notify_desktop.c @@ -31,6 +31,10 @@ #include <glib.h> #include <libnotify/notify.h> +#ifndef NOTIFY_CHECK_VERSION +#define NOTIFY_CHECK_VERSION(x,y,z) 0 +#endif + #define log_info(...) INFO ("notify_desktop: " __VA_ARGS__) #define log_warn(...) WARNING ("notify_desktop: " __VA_ARGS__) #define log_err(...) ERROR ("notify_desktop: " __VA_ARGS__) @@ -95,7 +99,12 @@ : (NOTIF_WARNING == n->severity) ? "WARNING" : (NOTIF_OKAY == n->severity) ? "OKAY" : "UNKNOWN"); - notification = notify_notification_new (summary, n->message, NULL, NULL); + notification = notify_notification_new (summary, n->message, NULL +#if NOTIFY_CHECK_VERSION (0, 7, 0) + ); +#else + , NULL); +#endif if (NULL == notification) { log_err ("Failed to create a new notification."); return -1;
_______________________________________________ collectd mailing list collectd@verplant.org http://mailman.verplant.org/listinfo/collectd