flatpak / xdg-dbus-proxy

GNU Lesser General Public License v2.1
53 stars 21 forks source link

TEMP_FAILURE_RETRY is glibc specific #19

Closed callmetango closed 2 years ago

callmetango commented 4 years ago

Trying to build release 0.1.2 against musl c-library 1.2.0:

dbus-proxy.c: In function 'fd_readall_bytes':
dbus-proxy.c:73:7: warning: implicit declaration of function 'TEMP_FAILURE_RETRY' [-Wimplicit-function-declaration]
   73 |   if (TEMP_FAILURE_RETRY (fstat (fd, &stbuf)) != 0)
      |       ^~~~~~~~~~~~~~~~~~

The above is glibc specific. Perhaps you could #define it in code if not defined, or just add own macro to do the same. This would improve portability for non-glibc systems such as musl c-library.

The same problem occurs elsewhere: https://github.com/containers/bubblewrap/issues/239 https://github.com/ostreedev/ostree/issues/731 https://github.com/flatpak/flatpak/issues/618

A possible workaround: https://github.com/gentoo/musl/blob/7b3334e4407979463f645e0e390a409d0da8ed4d/sys-apps/xdg-dbus-proxy/files/xdg-dbus-proxy-0.1.2-missing-TEMP_FAILURE_RETRY.patch

arkamar commented 4 years ago

This was already fixed in https://github.com/flatpak/xdg-dbus-proxy/pull/13