Created attachment 676777 [details] build.log Hi! polkit fails to build with elogind: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -DPACKAGE_LIBEXEC_DIR=\"/usr/libexec\" -DPACKAGE_SYSCONF_DIR=\"/etc\" -DPACKAGE_DATA_DIR=\"/usr/share\" -DPACKAGE_BIN_DIR=\"/usr/bin\" -DPACKAGE_LOCALSTATE_DIR=\"/var\" -DPACKAGE_LOCALE_DIR=\"/usr/share/locale\" -DPACKAGE_LIB_DIR=\"/usr/lib64\" -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_POLKIT_COMPILATION -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gio-unix-2.0 -I/usr/lib64/libffi/include -pthread -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/elogind -march=native -O3 -ftree-loop-im -fweb -frename-registers -fomit-frame-pointer -mfpmath=both -pipe -frecord-gcc-switches -c polkitunixsession-systemd.c -fPIC -DPIC -o .libs/libpolkit_gobject_1_la-polkitunixsession-systemd.o polkitunixsession-systemd.c:33:10: fatal error: systemd/sd-login.h: No such file or directory 33 | #include <systemd/sd-login.h> | ^~~~~~~~~~~~~~~~~~~~ See full build.log, environment and emerge --info below. $ emerge -pvq sys-auth/polkit [ebuild R ] sys-auth/polkit-0.118 USE="elogind gtk nls pam -examples -introspection* -jit -kde (-selinux) -systemd -test" $ emerge -pvq elogind [ebuild R ] sys-auth/elogind-243.7-r1 USE="acl pam policykit -audit -debug -doc (-selinux)"
Created attachment 676780 [details] environment
Created attachment 676783 [details] emerge --info
I've found the reason: INSTALL_MASK="/*/systemd/" elogind headers are now symlinks to /usr/include/systemd/ files which were purged by aforementioned install mask. While this problem is my fault, it also indicates that "small files" policy is defective, because it becomes harder and harder to keep systemd "small files" out of a system. That's why a general mask was used, but such approach is no longer usable.
My advice has always been to ignore the small files: they do no harm, and using INSTALL_MASK without care will cause problems like this one.
(In reply to Mike Gilbert from comment #4) > My advice has always been to ignore the small files: they do no harm, and > using INSTALL_MASK without care will cause problems like this one. Especially given *.unit or whatever else is valid.
(In reply to Sam James from comment #5) > (In reply to Mike Gilbert from comment #4) > > My advice has always been to ignore the small files: they do no harm, and > > using INSTALL_MASK without care will cause problems like this one. > > Especially given *.unit or whatever else is valid. Unit-files should not be necessary on non-systemd systems.
(In reply to Andrew Savchenko from comment #6) > (In reply to Sam James from comment #5) > > (In reply to Mike Gilbert from comment #4) > > > My advice has always been to ignore the small files: they do no harm, and > > > using INSTALL_MASK without care will cause problems like this one. > > > > Especially given *.unit or whatever else is valid. > > Unit-files should not be necessary on non-systemd systems. They're not. So, add *.unit to your INSTALL_MASK.