Skip to content

xfsm-shutdown-fallback.c doesn't compile on Solaris

When trying to compile xfce-4.18pre1 on Solaris 11.4/amd64, there was a single compile failure in xfce-session-4.17.1:

/vol/xfce/src/xfce-4.18/xfce4-session-4.17.1/xfce4-session/xfsm-shutdown-fallback.c: In function ‘xfsm_shutdown_fallback_try_action’:
/vol/xfce/src/xfce-4.18/xfce4-session-4.17.1/xfce4-session/xfsm-shutdown-fallback.c:395:13: error: ‘UP_BACKEND_SUSPEND_COMMAND’ undeclared (first use in this function)
  395 |       cmd = UP_BACKEND_SUSPEND_COMMAND;
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/vol/xfce/src/xfce-4.18/xfce4-session-4.17.1/xfce4-session/xfsm-shutdown-fallback.c:395:13: note: each undeclared identifier is reported only once for each function it appears in
/vol/xfce/src/xfce-4.18/xfce4-session-4.17.1/xfce4-session/xfsm-shutdown-fallback.c:402:13: error: ‘UP_BACKEND_HIBERNATE_COMMAND’ undeclared (first use in this function)
  402 |       cmd = UP_BACKEND_HIBERNATE_COMMAND;
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

which is no wonder since there's no Solaris support for UP_BACKEND_*_COMMAND yet, neither there's support for systems that lack suspend/hibernate functionality.

This issue has existed for a long time, and equally long have I been carrying a patch around to fix this, which introduces support for a --with-backend=solaris option.xfce4-session-4.17.1.patch