About some deprecated glib function in telepathy modules

julien2412 serval2412 at yahoo.fr
Mon Nov 4 11:01:10 PST 2013


Hello,

On pc Debian x86-64 testing updated today, with:
gcc (Debian 4.8.2-1) 4.8.2
ldd (Debian EGLIBC 2.17-93) 2.17

I've got this:
/home/julien/compile-libreoffice/libo/tubes/source/file-transfer-helper.c:
In function ‘check_hash_incoming’:
/home/julien/compile-libreoffice/libo/tubes/source/file-transfer-helper.c:645:7:
error: ‘g_io_scheduler_push_job’ is deprecated (declared at
/usr/include/glib-2.0/gio/gioscheduler.h:36): Use '"GThreadPool or
g_task_run_in_thread"' instead [-Werror=deprecated-declarations]
       g_io_scheduler_push_job (do_hash_job_incoming, hash_data, NULL,
       ^
/home/julien/compile-libreoffice/libo/tubes/source/file-transfer-helper.c:
In function ‘do_hash_job’:
/home/julien/compile-libreoffice/libo/tubes/source/file-transfer-helper.c:1040:7:
error: ‘g_io_scheduler_job_send_to_mainloop_async’ is deprecated (declared
at /usr/include/glib-2.0/gio/gioscheduler.h:49): Use 'g_main_context_invoke'
instead [-Werror=deprecated-declarations]
       g_io_scheduler_job_send_to_mainloop_async (job,
emit_hashing_progress,
       ^
/home/julien/compile-libreoffice/libo/tubes/source/file-transfer-helper.c:1057:3:
error: ‘g_io_scheduler_job_send_to_mainloop_async’ is deprecated (declared
at /usr/include/glib-2.0/gio/gioscheduler.h:49): Use 'g_main_context_invoke'
instead [-Werror=deprecated-declarations]
   g_io_scheduler_job_send_to_mainloop_async (job, hash_job_done,
   ^
/home/julien/compile-libreoffice/libo/tubes/source/file-transfer-helper.c:
In function ‘do_hash_job_incoming’:
/home/julien/compile-libreoffice/libo/tubes/source/file-transfer-helper.c:1082:7:
error: ‘g_io_scheduler_job_send_to_mainloop_async’ is deprecated (declared
at /usr/include/glib-2.0/gio/gioscheduler.h:49): Use 'g_main_context_invoke'
instead [-Werror=deprecated-declarations]
       g_io_scheduler_job_send_to_mainloop_async (job, hash_job_done,
       ^
/home/julien/compile-libreoffice/libo/tubes/source/file-transfer-helper.c:
In function ‘ft_handler_read_async_cb’:
/home/julien/compile-libreoffice/libo/tubes/source/file-transfer-helper.c:1127:3:
error: ‘g_io_scheduler_push_job’ is deprecated (declared at
/usr/include/glib-2.0/gio/gioscheduler.h:36): Use '"GThreadPool or
g_task_run_in_thread"' instead [-Werror=deprecated-declarations]
   g_io_scheduler_push_job (do_hash_job, hash_data, NULL,
   ^
/home/julien/compile-libreoffice/libo/tubes/source/file-transfer-helper.c:
In function ‘channel_prepared_cb’:
/home/julien/compile-libreoffice/libo/tubes/source/file-transfer-helper.c:1382:3:
error: ‘tp_channel_borrow_immutable_properties’ is deprecated (declared at
/usr/include/telepathy-1.0/telepathy-glib/channel.h:114): Use
'tp_channel_dup_immutable_properties' instead
[-Werror=deprecated-declarations]
   properties = tp_channel_borrow_immutable_properties (TP_CHANNEL
(channel));
   ^
cc1: all warnings being treated as errors
make[1]: ***
[/home/julien/compile-libreoffice/libo/workdir/unxlngx6/CObject/tubes/source/file-transfer-helper.o]
Erreur 1
make[1]: *** Attente des tâches non terminées....
/home/julien/compile-libreoffice/libo/tubes/source/manager.cxx: In static
member function ‘static AccountContactPairV TeleManager::getContacts()’:
/home/julien/compile-libreoffice/libo/tubes/source/manager.cxx:772:28:
error: ‘GList* tp_account_manager_get_valid_accounts(TpAccountManager*)’ is
deprecated (declared at
/usr/include/telepathy-1.0/telepathy-glib/account-manager.h:101): Use
'tp_account_manager_dup_valid_accounts' instead
[-Werror=deprecated-declarations]
     for (GList *accounts = tp_account_manager_get_valid_accounts
(pImpl->mpAccountManager);
                            ^
/home/julien/compile-libreoffice/libo/tubes/source/manager.cxx:772:90:
error: ‘GList* tp_account_manager_get_valid_accounts(TpAccountManager*)’ is
deprecated (declared at
/usr/include/telepathy-1.0/telepathy-glib/account-manager.h:101): Use
'tp_account_manager_dup_valid_accounts' instead
[-Werror=deprecated-declarations]
     for (GList *accounts = tp_account_manager_get_valid_accounts
(pImpl->mpAccountManager);

Indeed, https://developer.gnome.org/gio/2.36/gio-GIOScheduler.html indicates
this:
As of GLib 2.36, the g_io_scheduler methods are deprecated in favor of
GThreadPool and GTask. 

The weird thing is I don't know why I've got these warnings since EGLIBC
2.17 branch is based on GLIBC 2.17 (see http://www.eglibc.org/home)

Any idea? (should we update the calls with the new methods? Include a test
on glibc with MACRO to know which method to call? Silence these warnings for
the moment - until when? - with pragma instructions?) 

Julien



--
View this message in context: http://nabble.documentfoundation.org/About-some-deprecated-glib-function-in-telepathy-modules-tp4081367.html
Sent from the Dev mailing list archive at Nabble.com.


More information about the LibreOffice mailing list