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 <https://developer.gnome.org/atk/unstable/AtkComponent.html#atk-component-get-extents> 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.
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.
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, ^
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.
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.
This commit unblocks distcheck from running on newer systems: http://git.xfce.org/xfce/exo/commit/?id=a1175286ea5fdd73c832c47bbd8acfeb65004f90 Just build with the following: ./autogen.sh --disable-debug make distcheck A temporary bandage until we can port to the newer libraries...
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. https://git.xfce.org/xfce/exo/commit?id=0e61e730ffe51d8ac77ce1d5c17c62d39145ec3e
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.
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.
Created attachment 7177 Set default debug to yes Default debug to yes instead of full and re enable --enable-debug in distcheck
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 :)
Sean Davis referenced this bugreport in commit 1314833ce268a0cc8a012f9bb35532a205cd7677 Remove --disable-debug flag from distcheck (thanks Skunnyk) (Bug 11556) https://git.xfce.org/xfce/exo/commit?id=1314833ce268a0cc8a012f9bb35532a205cd7677
Resolved with the above commit.