в общем всю голову поломал, решил пересобрать evolution-2.32 но засел на адаптации под новые реалии, все версии что новее наглухо привязаны к gtk3. Вобщем проблема вот :
static void
ensure_inited (void)
{
if (inited)
return;
inited = TRUE;
conf_client = gconf_client_get_default ();
if (!GCONF_IS_CLIENT (conf_client)) {
inited = FALSE;
return;
}
g_atexit ((GVoidFunc) do_cleanup);
/* load the sources for calendars and tasks */
calendar_source_list = e_source_list_new_for_gconf (conf_client,
"/apps/evolution/calendar/sources");
tasks_source_list = e_source_list_new_for_gconf (conf_client,
"/apps/evolution/tasks/sources");
}
g_atexit объявлен деприкатед , да и хрен бы на него, но вот как заменить вот этот финт :
g_atexit ((GVoidFunc) do_cleanup);
в доках нашёл только тривиальный случай :
g_atexit (some_func); -----------------> atexit (some_func);
изменил на :
atexit ((GVoidFunc) do_cleanup);
при сборке матерится :
ошибка: «GVoidFunc» undeclared (first use in this function)
оно и понятно, но вот как правильно ?