Bug 30438 - PolicyKit fails to build on AIX
Summary: PolicyKit fails to build on AIX
Alias: None
Product: PolicyKit
Classification: Unclassified
Component: daemon (show other bugs)
Version: unspecified
Hardware: PowerPC AIX
: medium blocker
Assignee: David Zeuthen (not reading bugmail)
QA Contact: David Zeuthen (not reading bugmail)
Depends on:
Reported: 2010-09-28 14:08 UTC by Steve Talmage
Modified: 2011-02-23 06:17 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

config and build log (97.60 KB, application/octet-stream)
2010-09-28 14:08 UTC, Steve Talmage

Description Steve Talmage 2010-09-28 14:08:30 UTC
Created attachment 39030 [details]
config and build log

Starting with the 0.97 version (all the way up through the current git head), I cannot build PolicyKit on AIX.  (I'm on AIX 6.1 TL4 with a self-compiled gcc 4.5.1.)

Everything builds fine until polkitd:

Making all in polkitd
make[3]: Entering directory `/opt/freeware/gnome2/src/PolicyKit/src/polkitd'
gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -DPACKAGE_LIBEXEC_DIR=\""/opt/freeware/gnome2/libexec"\" -DPACKAGE_SYSCONF_DIR=\""/opt/freeware/gnome2/etc"\" -DPACKAGE_DATA_DIR=\""/opt/freeware/gnome2/share"\" -DPACKAGE_BIN_DIR=\""/opt/freeware/gnome2/bin"\" -DPACKAGE_LOCALSTATE_DIR=\""/opt/freeware/gnome2/var"\" -DPACKAGE_LOCALE_DIR=\""/opt/freeware/gnome2/share/locale"\" -DPACKAGE_LIB_DIR=\""/opt/freeware/gnome2/lib"\" -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT    -DPOLKIT_BACKEND_I_KNOW_API_IS_SUBJECT_TO_CHANGE -DG_LOG_DOMAIN=\"polkitd-1\" -pthread -I/opt/freeware/gnome2/include/glib-2.0 -I/opt/freeware/gnome2/lib/glib-2.0/include    -g -O2 -Wall -Wchar-subscripts -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -Wformat -Wformat-security -MT polkitd-main.o -MD -MP -MF .deps/polkitd-main.Tpo -c -o polkitd-main.o `test -f 'main.c' || echo './'`main.c
mv -f .deps/polkitd-main.Tpo .deps/polkitd-main.Po
gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -DPACKAGE_LIBEXEC_DIR=\""/opt/freeware/gnome2/libexec"\" -DPACKAGE_SYSCONF_DIR=\""/opt/freeware/gnome2/etc"\" -DPACKAGE_DATA_DIR=\""/opt/freeware/gnome2/share"\" -DPACKAGE_BIN_DIR=\""/opt/freeware/gnome2/bin"\" -DPACKAGE_LOCALSTATE_DIR=\""/opt/freeware/gnome2/var"\" -DPACKAGE_LOCALE_DIR=\""/opt/freeware/gnome2/share/locale"\" -DPACKAGE_LIB_DIR=\""/opt/freeware/gnome2/lib"\" -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT    -DPOLKIT_BACKEND_I_KNOW_API_IS_SUBJECT_TO_CHANGE -DG_LOG_DOMAIN=\"polkitd-1\" -pthread -I/opt/freeware/gnome2/include/glib-2.0 -I/opt/freeware/gnome2/lib/glib-2.0/include    -g -O2 -Wall -Wchar-subscripts -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -Wformat -Wformat-security -MT polkitd-gposixsignal.o -MD -MP -MF .deps/polkitd-gposixsignal.Tpo -c -o polkitd-gposixsignal.o `test -f 'gposixsignal.c' || echo './'`gposixsignal.c
gposixsignal.c:26:26: fatal error: sys/signalfd.h: A file or directory in the path name does not exist.
compilation terminated.
make[3]: *** [polkitd-gposixsignal.o] Error 1
make[3]: Leaving directory `/opt/freeware/gnome2/src/PolicyKit/src/polkitd'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/freeware/gnome2/src/PolicyKit/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/freeware/gnome2/src/PolicyKit'
make: *** [all] Error 2

AIX does not have the signalfd() library call, and I don't understand this code well enough to try to do an AIX port.
Comment 1 Nezmer 2010-09-30 08:37:35 UTC
This is true for all non GNU libc systems, I think.

I don't have sys/signalfd.h in my include dirs here in FreeBSD/AMD64. This file belongs to glibc in my GNU/Linux setup.
Comment 2 David Zeuthen (not reading bugmail) 2010-09-30 10:45:32 UTC
Should probably just ifdef out all the GPosixSignal stuff if not on Linux - it's only used to trace memory leaks.
Comment 3 Steve Talmage 2010-09-30 16:30:53 UTC
(In reply to comment #2)
> Should probably just ifdef out all the GPosixSignal stuff if not on Linux -
> it's only used to trace memory leaks.

I didn't realize it was that easy.  I should have looked in main.c and not
just at the error.  There are only two references to the GPosixSignal
additions in there--the include file and one function call.

I ifdefed out the include file and the function call, and removed the
gposixsignal.o object reference in Makefile.in.  After cleaning, reconfiguring
and remaking, it's all good now.

Comment 4 Nezmer 2010-10-01 04:36:52 UTC
I can confirm what Steve did works.
Comment 5 David Zeuthen (not reading bugmail) 2011-02-23 06:17:38 UTC
OK, this commit


should fix the problem.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.