! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
gioscheduler deprecation warnings cause build failure


Description Robby Workman editbugs 2015-02-18 06:04:16 CET
make[3]: Entering directory `/home/source/DEVEL/xfce/core/exo-git_1a63e7ad/exo'
  CC       libexo_1_la-exo-icon-view.lo
In file included from exo-icon-view.c:576:0:
../exo/exo-icon-view-accessible.c: In function ‘exo_icon_view_item_accessible_image_get_image_position’:
../exo/exo-icon-view-accessible.c:302:3: error: ‘atk_component_get_position’ is deprecated (declared at /usr/include/atk-1.0/atk/atkcomponent.h:187): Use 'atk_component_get_extents' instead [-Werror=deprecated-declarations]
   atk_component_get_position (ATK_COMPONENT (image), x, y, coord_type);
../exo/exo-icon-view-accessible.c: In function ‘exo_icon_view_item_accessible_get_extents’:
../exo/exo-icon-view-accessible.c:757:7: error: ‘atk_component_get_position’ is deprecated (declared at /usr/include/atk-1.0/atk/atkcomponent.h:187): Use 'atk_component_get_extents' instead [-Werror=deprecated-declarations]
       atk_component_get_position (ATK_COMPONENT (parent_obj), &l_x, &l_y, coord_type);
cc1: all warnings being treated as errors
make[3]: *** [libexo_1_la-exo-icon-view.lo] Error 1

It looks like atk_component_get_extents() is preferred now
and looking at exo_icon_view_item_accessible_get_extents(), perhaps that atk function can replace the custom function...
This is with atk-2.14.0, fwiw.
Comment 1 Robby Workman editbugs 2015-02-18 06:29:34 CET
Well, bah, not treating warnings as errors makes this a non-issue, ergo, it won't be an issue for packagers. Worth looking into for future, but hardly critical for now.
Comment 2 Sean Davis editbugs 2015-02-22 03:14:44 CET
The atk_component_get_position instances can probably be replaced with:

    atk_component_get_extents (ATK_COMPONENT (image), x, y, NULL, NULL, coord_type);

    atk_component_get_extents (ATK_COMPONENT (parent_obj), &l_x, &l_y, NULL, NULL, coord_type);

However, a bigger issue exists with these deprecations, which will require a significantly larger effort to resolve.

  CC       libexo_1_la-exo-job.lo
exo-job.c: In function 'exo_job_emit_valist':
exo-job.c:398:3: warning: 'g_io_scheduler_job_send_to_mainloop' is deprecated (declared at /usr/include/glib-2.0/gio/gioscheduler.h:42): Use 'g_main_context_invoke' instead [-Wdeprecated-declarations]
   g_io_scheduler_job_send_to_mainloop (job->priv->scheduler_job,
exo-job.c: In function 'IA__exo_job_launch':
exo-job.c:477:3: warning: 'g_io_scheduler_push_job' is deprecated (declared at /usr/include/glib-2.0/gio/gioscheduler.h:34): Use '"GThreadPool or g_task_run_in_thread"' instead [-Wdeprecated-declarations]
   g_io_scheduler_push_job (exo_job_scheduler_job_func, g_object_ref (job),
exo-job.c: In function 'IA__exo_job_send_to_mainloop':
exo-job.c:673:3: warning: 'g_io_scheduler_job_send_to_mainloop' is deprecated (declared at /usr/include/glib-2.0/gio/gioscheduler.h:42): Use 'g_main_context_invoke' instead [-Wdeprecated-declarations]
   return g_io_scheduler_job_send_to_mainloop (job->priv->scheduler_job, func, user_data,
Comment 3 Harald Judt editbugs 2015-02-22 09:39:50 CET
Pushed a fix for the ATK deprecation warnings: http://git.xfce.org/xfce/exo/commit/?id=941d5a8281b04b6374b3544c825c245c4476a5e6

As for the other issue: Maybe it would a better idea to update the exo API to better suit GTask, which is the most likely candidate to replace the old GIOScheduler. I'm sure one can update the current API using GTask, but it seems to result in pretty ugly code.
Comment 4 Steve Dodier-Lazaro editbugs 2015-02-28 15:57:35 CET
I'm renaming the bug to reflect on Harald pushing an atk fix. I assume this is no longer a target for 4.12.0 since it doesn't block packaging or use in the near future.
Comment 5 Sean Davis editbugs 2015-05-22 04:03:04 CEST
This commit unblocks distcheck from running on newer systems:


Just build with the following:
  ./autogen.sh --disable-debug
  make distcheck

A temporary bandage until we can port to the newer libraries...
Comment 6 Git Bot editbugs 2017-06-15 04:52:17 CEST
Sean Davis referenced this bugreport in commit 0e61e730ffe51d8ac77ce1d5c17c62d39145ec3e

Do not abort builds due to deprecated declarations (Bug #11556) Since deprecated methods will not be dropped until GTK 4 and Xfce 4.14 targets GTK 3, these items are non-critical and should not block builds.

Comment 7 Sean Davis editbugs 2017-06-15 04:53:51 CEST
With the above commit, builds will no longer fail due to deprecated calls.  This is just one of many deprecations that will need to be reviewed at a later point.
Comment 8 Skunnyk editbugs 2017-06-15 09:12:52 CEST
make distcheck set --enable-debug=full.
Maybe it's better to set it to --enable-debug=yes to avoid build failure on deprecated call. This simply need a line change in libexo_debug_default / https://git.xfce.org/xfce/exo/tree/configure.ac.in#n24 . 
Some components already set it to yes instead of full, maybe we can generalize this behavior.
Comment 9 Skunnyk editbugs 2017-06-16 15:10:48 CEST
Created attachment 7177 
Set default debug to yes

Default debug to yes instead of full and re enable --enable-debug in distcheck
Comment 10 Skunnyk editbugs 2017-06-25 22:52:17 CEST
Patch pushed in https://git.xfce.org/xfce/exo/commit/?id=68d12a83f219a9382650e47a0ee0365bb240f68d .
Sean, the only missing item is to remove --disable-debug from the distcheck, then we can close this bug :)
Comment 11 Git Bot editbugs 2017-07-02 23:47:49 CEST
Sean Davis referenced this bugreport in commit 1314833ce268a0cc8a012f9bb35532a205cd7677

Remove --disable-debug flag from distcheck (thanks Skunnyk) (Bug 11556)

Comment 12 Sean Davis editbugs 2017-07-02 23:48:39 CEST
Resolved with the above commit.

Bug #11556

Reported by:
Robby Workman
Reported on: 2015-02-18
Last modified on: 2017-07-02


Nick Schermer
CC List:
5 users




Set default debug to yes (1.73 KB, patch)
2017-06-16 15:10 CEST , Skunnyk
no flags

Additional information